使用Visual Studio安装项目安装程序启动服务

时间:2012-05-10 20:12:55

标签: visual-studio-2008 .net-2.0 windows-installer setup-project

我有一个用于安装Windows服务的Visual Studio安装项目。该服务设置为自动运行,此时通过将我的服务添加为自定义操作,安装正常。但是,我希望安装程序在安装完成后启动服务。这可能吗?

在相关说明中,我是否需要在卸载和/或升级时手动停止服务?

2 个答案:

答案 0 :(得分:1)

您也可以使用自定义操作来启动/停止服务。从自定义操作中,您只需调用以下实用程序:http://technet.microsoft.com/en-us/library/cc736564(v=ws.10).aspx

是的,对于升级/卸载,您应该在删除文件之前停止服务,这样您就可以避免来自操作系统的“正在使用的文件”提示。

答案 1 :(得分:0)

覆盖下面的自定义操作处理程序以在安装后启动Windows服务。虽然您设置服务属性type = Automatic,但除非我们明确启动,否则服务将无法启动:

protected override void OnAfterInstall(IDictionary savedState)
{
        using (var sc = new ServiceController(serviceInstaller1.ServiceName))
        {
            sc.Start();
        }
}

虽然我们使用自定义操作停止服务以进行卸载/升级,但Visual Studio安装程序并未停止FileInUse提示。似乎VS安装程序没有太多复杂性来更改安装程序的顺序,因为我们无法控制此行为。但是,最好停止卸载/升级服务。