c #windows服务安装程序提示用户提供凭据

时间:2015-04-02 17:07:01

标签: c# windows service installer

我希望安装程序(在安装过程中)提示用户输入凭据。我实际上希望它提示用户。 我已经完成了我在这里阅读的大多数问题/答案中看到的内容,将帐户设置为用户。

我也尝试过最低限度。 我创建了一个新的Windows服务项目。然后我创建了一个Visual Studio Installer(安装项目)。

在Windows服务项目中,在.cs文件(我称之为ProjectInstaller)中,右键单击主设计页面并单击Add Installer,它出现了两个安装程序。在我的ProjectInstaller.Designer.cs中,我在InitializeComponent方法中添加了这行代码

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

然后我转到我的安装程序安装项目,右键单击,将主输出设置为Windows服务项目,就是这样。编译了所有内容并运行了安装程序文件,但它没有提示我输入凭据。

我不知道它是否有用,但这是整个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 个答案:

答案 0 :(得分:1)

默认情况下,您无法执行此操作。您可以做的是使用新的自定义页面创建WiX设置,该页面允许用户输入服务帐户的凭据。