考虑一个带有安装项目的windows服务,现在如何强制windows服务在安装完成后启动?
我试图添加项目安装程序,并在提交时,即使我启动了服务,但这将只工作,如果我使用InstallUtil im寻找一种方法,使其同时使用安装项目…
有什么想法吗?
发布于 2010-10-11 20:06:38
您可以创建一个新的自定义操作,该操作将使用ServiceController类来启动新创建的服务。
发布于 2015-08-06 21:11:36
为了让您的服务在安装后立即启动,您可以添加以下几行代码。通过订阅提交的事件,您可以确保它在安装后启动服务。还要注意service.StartType = ServiceStartMode.Automatic;行,它负责在自动启动属性打开的情况下安装服务,该属性使服务在系统重新启动时自动启动。
public class ProjectInstaller : Installer
{
private ServiceProcessInstaller process;
private ServiceInstaller service;
public ProjectInstaller()
{
process = new ServiceProcessInstaller();
process.Account = ServiceAccount.LocalSystem;
service = new ServiceInstaller();
service.ServiceName = "MyWCFServer";
service.StartType = ServiceStartMode.Automatic;
Installers.Add(process);
Installers.Add(service);
service.Committed += new InstallEventHandler(serviceInstaller_Committed);
}
void serviceInstaller_Committed(object sender, InstallEventArgs e)
{
ServiceController controller = new ServiceController(service.ServiceName);
controller.Start();
controller.WaitForStatus(ServiceControllerStatus.Running);
}
}发布于 2010-10-11 20:09:17
如Johann所建议的;首先在"Install“选项卡和"Commit”选项卡中添加一个部署项目和Add Custom Action,在这些选项卡中执行您需要的操作,这意味着启动服务。
https://stackoverflow.com/questions/3906001
复制相似问题