Установка службы 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)
{
}
}
}
Честно говоря, я даже не уверен, почему мне подскажут имя пользователя и пароль, если я установил его в коде...
Ответы
Ответ 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.
Вы уверены, что вашей учетной записи пользователя разрешено эскалацию, верно? Это можно запретить с помощью сетевой и локальной политики безопасности.
Попробуйте его с учетной записью администратора, если он не работает.
Ответ 3
Я нашел средство для этой ситуации ---- однако я использую
VM WARE клонировали 2008 r2.
Измените SID на сервере Server 2008 R2, используя следующие шаги:
http://www.brajkovic.info/windows-server-2008/windows-server-2008-r2/how-to-change-sid-on-windows-7-and-windows-server-2008-r2-using-sysprep/
Это помогло мне удалить ошибку.
Ответ 4
Щелкните правой кнопкой мыши ServiceProcessInstaller1 и перейдите на вкладку свойств
Change the account to **LocalService**
Это сработало для меня