Попытка получить службу Windows для запуска исполняемого файла на общем диске

У меня есть C#, который будет работать в службе Windows. Я пытаюсь использовать классы Process и ProcessStartInfo для запуска исполняемого файла. Если исполняемый файл находится на локальном диске, нет проблем. Однако мне нужно запустить исполняемый файл на общем диске. Я пытался использовать обозначение UNC (//machine_name/share_name/directory/runme.exe), но процесс зависает. Служба и общий диск находятся в Windows XP. Кто-нибудь занимался этой проблемой раньше?

4 ответа

Решение

Учетная запись, используемая вашей службой, скорее всего, не имеет разрешения на доступ к общему диску. Попробуйте настроить его для запуска от имени пользователя с правами доступа к сети через апплет служб. Щелкните правой кнопкой мыши на сервисе, выберите свойства и установите учетную запись на вкладке входа.

На какой учетной записи работает служба?

LocalSystem разрешит доступ только к локальной файловой системе. Если вы хотите получить доступ к сетевому ресурсу, вам нужно будет запустить службу как пользователь домена или сети.

Если приложение на общем диске является приложением.Net, убедитесь, что оно имеет достаточное доверие.

Посмотрите на это: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=471168&SiteID=1

Это должно помочь.

Другие вопросы по тегам