Попытка получить службу 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
Это должно помочь.