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

StackOverflow https://stackoverflow.com/questions/134805

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

Под какой учетной записью работает служба?

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top