Ошибка при установке службы Windows, разработанной в .Net
Я разработал службу Windows, используя С#, visual studio 2008. У меня на компьютере установлена xp sp2. Когда я пытаюсь установить службу с помощью инструмента installutil, после ввода имени пользователя и пароля, я получаю следующую ошибку.
Исключение произошло на этапе установки. System.ComponentModel.Win32Exception: имя учетной записи недействительно или не существует, или пароль недопустим для указанного имени учетной записи.
Но пользователь существует. Я создал пользователя через панель управления → учетные записи пользователей → создать новую учетную запись.
Команда, которую я использовал для установки службы, - installutil/i TestService.exe
Я не могу решить проблему.
Спасибо в Advance
Sambha
Ответы
Ответ 1
Если учетная запись является локальной учетной записью пользователя, попробуйте использовать .\username
, когда installutil запрашивает имя пользователя и пароль.
.\
обозначает локальную машину.
Для обслуживания требуется полное имя пользователя (с доменом), поэтому при установке вам необходимо явно указывать локальные учетные записи пользователей.
Ответ 2
Учетной записи также может быть предоставлено право учетной записи "Вход в систему"; передайте константу SE_SERVICE_LOGON_NAME
в API LsaAddAccountRights()
.
Ответ 3
Я решил это, изменив ServiceProcessInstaller.Account на LocalSystem. и его работы для меня.