Windows服务安装项目 - 以管理员身份运行服务

5

我有一个针对Windows服务的设置项目(.net 3.5,visual studio 2008)。

这个Windows服务需要在管理员帐户下运行,有没有人知道我如何让安装项目在安装过程中设置Windows服务的“登录用户”设置?

目前每次更新服务时,我都必须手动右键单击服务并将其设置为以管理员身份登录。

谢谢!

1个回答

5

您应该能够在安装程序的 InitializeComponent() 方法中添加一个新的 ServiceProcessInstaller。这个类将允许您设置服务运行时的账户类型、用户名和密码。例如:

this.Installers.Add(
        new System.ServiceProcess.ServiceProcessInstaller()
            {
                Account = ServiceAccount.User,
                Username = @"domain\username",
                Password = "password"
            });

如果您不想在设置项目中硬编码密码,则将其留空,安装过程中应该会出现一个弹出对话框来询问此内容。


谢谢!你知道如何让服务自动启动吗? - db1234
不好意思,我以前从来没有做过那个。如果我是你,我会把它作为另一个问题添加进去。 - Bermo
PrinterMonitorServiceInstaller.StartType = System.ServiceProcess.ServiceStartMode.Automatic 这将会实现这个功能。 - Suriyan Suresh
ServiceInstaller的StartType属性有“自动”,“手动”和“禁用”的选项,可以用于设置服务启动模式。在我的项目中,我将其设置为自动,在服务列表中安装后,我的服务启动属性是自动的,但不会立即启动...如何在安装后也运行服务? - dankyy1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接