安装前停止服务

时间:2011-06-30 07:19:56

标签: visual-studio windows-services setup-project

我编写了一个使用Visual Studio 2010安装项目安装的应用程序。作为其安装的一部分,我的应用程序安装并启动Windows服务。没问题。

当我发布新版本的应用程序时,安装程​​序会覆盖应用程序文件夹的内容。不幸的是,它无法覆盖已经运行的服务。

如何在MSI开始复制文件之前停止服务?我正在考虑一个不安装的自定义引导程序(安装程序先决条件),但删除了该服务。或者我可以在安装前使用Orca添加操作吗?或者你知道另一种方式吗?

1 个答案:

答案 0 :(得分:3)

通常这是通过service control operations完成的。基本上,您需要为卸载设置停止和删除标志。

另一种方法是在自定义操作中使用ServiceInstaller.Uninstall来停止和删除服务。

如果要避免使用中的文件对话框,可以尝试以下方法: Problem stopping Windows Service from Installer Class. Events fire too late