c# – 如何停止Windows服务进行升级安装?

我使用Visual Studio 2008开发了一个Windows服务和一个安装项目.当我进行升级安装时,我收到以下警告:

以下应用程序正在使用安装程序必须更新的文件.您可以关闭应用程序并单击“再试一次”,或单击“继续”以使安装程序继续安装,并在系统重新启动时替换这些文件.

我想在升级安装期间停止Windows服务.我已经尝试创建自定义操作并覆盖OnBeforeInstall方法,但是在警告弹出消息已经发生之后,这会被调用得太晚.

有没有办法在msi安装程序中完成此操作.在执行msi安装程序之前,我宁愿不必将此作为单独的任务执行.

更新:
根据进一步的研究,我发现MSI数据库确实支持这一点,但是内置的Visual Studio安装程序(安装程序)项目没有提供执行此操作的方法.必须调整MSI数据库,或者使用WiX或商业安装程序.

最佳答案

转载注明原文:c# – 如何停止Windows服务进行升级安装? - 代码日志