Ошибка при установке службы Windows, разработанной в .Net - PullRequest
58 голосов
/ 05 февраля 2010

Я разработал службу Windows с использованием C #, Visual Studio 2008. У меня на компьютере установлена ​​Windows XP SP2. Когда я пытаюсь установить службу с помощью инструмента installutil, после ввода имени пользователя и пароля у меня появляется следующая ошибка.

Исключительная ситуация на этапе установки. System.ComponentModel.Win32Exception: имя учетной записи недействительно или не существует, или пароль недопустим для указанного имени учетной записи.

Но пользователь существует. Я создал пользователя через панель управления -> учетные записи пользователей -> создать новую учетную запись. Команда, которую я использовал для установки службы: installutil / i TestService.exe

Я не могу решить проблему.

Заранее спасибо

Sambha

Ответы [ 3 ]

117 голосов
/ 05 февраля 2010

Если учетная запись является локальной учетной записью пользователя, попробуйте использовать .\username, когда installutil запрашивает имя пользователя и пароль.

.\ обозначает локальную машину.

Для служб требуется полное имя пользователя (с доменом), поэтому при установке необходимо четко указывать учетные записи локальных пользователей.

3 голосов
/ 05 февраля 2010

Для учетной записи также может потребоваться предоставить право учетной записи «Вход в систему как услуга»; передать константу SE_SERVICE_LOGON_NAME в API LsaAddAccountRights().

0 голосов
/ 16 января 2014

Я решил это, изменив ServiceProcessInstaller. Учетная запись LocalSystem. и это работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...