Попытка заставить службу Windows запустить исполняемый файл на общем диске
-
02-07-2019 - |
Вопрос
У меня есть С#, который будет работать в службе Windows.Я пытаюсь использовать классы Process и ProcessStartInfo для запуска исполняемого файла.Если исполняемый файл находится на локальном диске, проблем нет.Однако мне нужно запустить исполняемый файл на общем диске.Я пробовал использовать нотацию UNC (//имя_компьютера/имя_общего_ресурса/каталог/runme.exe), но процесс, похоже, зависает.Служба и общий диск работают под управлением Windows XP.Кто-нибудь решал эту проблему раньше?
Решение
Учетная запись, под которой работает ваша служба, скорее всего, не имеет разрешения на доступ к общему диску.Попробуйте настроить его для запуска от имени пользователя с разрешением на доступ к сети через апплет служб.Щелкните правой кнопкой мыши службу, выберите свойства и настройте учетную запись на вкладке входа в систему.
Другие советы
Под какой учетной записью работает служба?
LocalSystem разрешит доступ только к локальной файловой системе.Если вы хотите получить доступ к сетевому ресурсу, вам придется запустить службу от имени пользователя домена или сети.
Посмотри на это: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=471168&SiteID=1
Это должно помочь.
Если приложение на общем диске является приложением .Net, убедитесь, что оно имеет достаточный уровень доверия.