Системная ошибка 5 Доступ запрещен при запуске службы .NET - PullRequest
49 голосов
/ 22 февраля 2009

Когда я пытаюсь запустить службу, созданную в Visual Studio, я получаю следующую ошибку:

System error 5 has occurred.

Access is denied.

Я запускаю командную строку с повышенными привилегиями, поэтому проблема не в этом. Есть ли место, где я могу посмотреть, какая ошибка происходит?

Ответы [ 10 ]

49 голосов
/ 22 февраля 2009

Чтобы заставить его работать, мне нужно было добавить разрешения для папки выходного bin \ debug для моего сервисного проекта.

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

17 голосов
/ 16 сентября 2013

Была такая же проблема.

Исправлено при запуске службы в разделе «Учетная запись локальной системы»

enter image description here

12 голосов
/ 03 сентября 2012

В моем случае решение было даже таким простым: Запустите командную строку как Администратор .

10 голосов
/ 22 февраля 2009

Я вижу, вы исправили проблему; но на самом деле, вы все равно не должны запускать службу из папки bin проекта - файлы должны быть помещены где-то независимо от проекта и профиля (например, в программные файлы). В целях отладки (когда она будет находиться в папке bin), вы можете определить, является ли она службой в Main(), и, если она запускается в интерактивном режиме, просто запустите код службы напрямую, а не обычная настройка запуска службы.

Вы можете обнаружить либо добавив аргумент командной строки, либо вы можете попробовать проверка Environment.UserInteractive.

2 голосов
/ 27 декабря 2014

Кажется, что учетная запись Local Services не имеет привилегий для управления службой. Поэтому в свойстве LogOn службы измените тип учетной записи на «Локальная система» и разрешите службе взаимодействовать с рабочим столом.

Кроме того, убедитесь, что вы устанавливаете службу с помощью instalutil в качестве администратора.

Наконец, когда вы хотите запустить службу из командной строки с помощью команды «net start [service name]», вы должны запустить командную строку от имени администратора.

1 голос
/ 28 января 2010

У меня была такая же проблема, потому что мой проект и его исходный код находились в папке с включенной шифрованной файловой системой NTFS ( EFS ). Это вызвано тем, что скомпилированные сборки также были зашифрованы, а у пользователя, работающего с моей службой, не было разрешений на их расшифровку. Удаление EFS было простым решением для этого. Это можно сделать из командной строки, используя CIPHER.EXE, который является инструментом Windows.

0 голосов
/ 24 апреля 2017

Просто столкнулся с этой проблемой после того, как я запустил 'sc config' для изменения binPath службы.

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

После этого все заработало отлично.

0 голосов
/ 07 марта 2016

Учетная запись пользователя с правами администратора предложит «Вы уверены?» В ситуациях, когда учетная запись администратора не запрашивается. У меня была эта проблема с net stop netprofm.

Чтобы убрать подсказку, сделайте это.

Панель управления, учетные записи пользователей, изменить настройки контроля учетных записей, никогда не уведомлять

Это похоже на то, что учетная запись пользователя с правами администратора работает так же, как и учетная запись администратора.

0 голосов
/ 04 марта 2016

Запустите его из планировщика заданий с наивысшими привилегиями, и он будет работать.

0 голосов
/ 16 октября 2013

У меня была такая же проблема, когда я одновременно перенес службу с vs05 на vs2010, с framework 2.0 на framework 4.0. Я получил доступ отказано. Как только вернулись к фреймворку 2.0, он снова заработал. Проблема?% ¤ #% &% & заключалась в том, что строка инициализации для службы была неправильной (?!). Строка ожидаемых кавычек в начале и в конце!

До .... путь + имя службы "" / параметр = 1 'это работало с фреймворком 2.0

После .... "путь + имя службы" "/ параметр = 1"

Отказ в доступе не имеет никакого отношения к проблеме. Почему не «Путь не найден» или «Отсутствующий параметр»

...