Подтвердить что ты не робот

Установка службы Windows. Не было выполнено сопоставление между именами учетных записей и идентификаторами безопасности.

У меня есть проект службы Windows и настройки. Когда я нажимаю правой кнопкой мыши на проекте установки и нажимаю "установить", попросите меня за

  • Имя пользователя
  • Пароль
  • Подтвердите пароль

Я пробовал следующие комбинации

.\MyUserName MyDomain\MyUserName

но он возвращается со следующей ошибкой

Не удалось сопоставить имена учетных записей и идентификатор безопасности

ServiceProcessInstaller

namespace TestService
{
    [RunInstaller(true)]
    public partial class ProjectInstaller : System.Configuration.Install.Installer
    {

        public ProjectInstaller()
        {
            InitializeComponent();

            this.serviceProcessInstaller1.Account = ServiceAccount.User;
            this.serviceProcessInstaller1.Username = @".\MyUserName"; //username;
            this.serviceProcessInstaller1.Password = "123456"; // password;

            // Add installers to collection. Order is not important.
        }

        private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
        {

        }

        private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
        {

        }
    }
}

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

4b9b3361

Ответ 1

Пожалуйста, перекрестите, выполнили ли вы следующие шаги (, особенно шаг 5):

1.После создания проекта службы Windows перейдите в представление дизайна класса сервиса (просто дважды щелкните по классу service1.cs).

2. В окне дизайна щелкните правой кнопкой мыши и выберите "Добавить установщик". Это создаст класс установщика с именем ProjectInstaller.cs. Если вы не указали ProjectInstaller.cs или какую-либо ошибку при настройке ProjectInstaller.cs, это может привести к отключению службы в консоли обслуживания.

3. Настройте проектный проект ProjectInstaller.cs там, где есть два установщика →

   a.**ServiceInstaller1**

   b.**ServiceProcessInstaller1**  

4.Нажмите кнопку ServiceInstaller1 и перейдите на вкладку свойств

   a.Edit the ServiceName with the name you want to 

см. вашу службу в консоли обслуживания.

   b.Change the **StartType** to **Automatic**.

5.Нажмите кнопку ServiceProcessInstaller1 и перейдите на вкладку свойств

a.Change the account to **LocalService**

Сохраните и попробуйте.

Надеюсь, это поможет вам........

Ответ 2

Формат DOMAIN\USERNAME верен для домена, но если вы используете локальное имя пользователя, используйте имя компьютера для имени домена. Если ваше имя хоста - FOO, а ваше имя пользователя - BAR, вы должны использовать FOO\BAR.

Вы уверены, что вашей учетной записи пользователя разрешено эскалацию, верно? Это можно запретить с помощью сетевой и локальной политики безопасности.

Попробуйте его с учетной записью администратора, если он не работает.

Ответ 4

Щелкните правой кнопкой мыши ServiceProcessInstaller1 и перейдите на вкладку свойств

Change the account to **LocalService**

Это сработало для меня