2015-04-02 5 views
0

Я хотел бы, чтобы установщик (в середине установки) запрашивал у пользователя учетные данные. Я действительно хочу, чтобы он запрашивал пользователя. Я сделал то, что видел в большинстве вопросов/ответов, которые я читал здесь, чтобы настроить учетную запись для пользователя.C# windows service installer запрос пользователя для учетных данных

Я также пытался сделать это с минимальным минимумом. Я создал новый проект службы Windows. Затем я создал установщик Visual Studio (проект установки).

В проекте службы windows в файле .cs (я назвал его ProjectInstaller), щелкнул правой кнопкой мыши по главной странице дизайна и нажал кнопку «Добавить установщик», и появилось два установщика. В моих ProjectInstaller.Designer.cs, я добавил эту строку кода в методе InitializeComponent

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User; 

Затем я пошел в мой проект установки Installer, щелкните правой кнопкой мыши, установите первичный выход в проект окна обслуживания, и это он. Скомпилировал все и запустил файл установщика, но он не запрашивал ввода учетных данных.

Я не знаю, если это поможет, но это весь метод InitializeComponent

private void InitializeComponent() 
    { 
     this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller(); 
     this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller(); 
     this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.User; 
     // 
     // serviceProcessInstaller1 
     // 
     this.serviceProcessInstaller1.Password = null; 
     this.serviceProcessInstaller1.Username = null; 
     this.serviceProcessInstaller1.AfterInstall += new System.Configuration.Install.InstallEventHandler(this.serviceProcessInstaller1_AfterInstall); 
     // 
     // serviceInstaller1 
     // 
     this.serviceInstaller1.ServiceName = "Service1"; 
     this.serviceInstaller1.AfterInstall += new System.Configuration.Install.InstallEventHandler(this.serviceInstaller1_AfterInstall); 
     // 
     // ProjectInstaller 
     // 
     this.Installers.AddRange(new System.Configuration.Install.Installer[] { 
     this.serviceProcessInstaller1, 
     this.serviceInstaller1}); 

    } 

Что я пропускаю, так что мой инсталлятор предложит пользователю ввести учетные данные?

ответ

1

Вы не можете сделать это по умолчанию. То, что вы может do, создает настройку WiX с новой настраиваемой страницей, которая позволяет пользователю вводить учетные данные для учетной записи службы.

+0

Можете ли вы объяснить, почему мы не можем сделать это по умолчанию? Будет ли версия визуальной студийной материи? Я работаю на визуальной студии 2013 – ANiceSunset

+1

Поскольку запрос учетных данных не является особенностью установщика услуг. –

Смежные вопросы