visual-studio - 安装前停止服务

标签 visual-studio windows-services setup-project

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

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

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

最佳答案

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

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

如果你想避免使用文件对话框,你可以试试这个方法:
Problem stopping Windows Service from Installer Class. Events fire too late

关于visual-studio - 安装前停止服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6531271/

相关文章:

c# - 有什么方法可以使用 Visual Studio 和 PTVS 调试 C# 中嵌入的 Python 代码吗?

c++ - 使用 Embarcadero Borland

C# LINQ 存储过程

mysql - 如何在不知道服务名称的情况下从cmd启动mysql服务?

windows-services - 创建 MSI 但获取安装包不受此处理器类型错误的支持

installation - 从 VS 安装 MSI 升级到 Wix MSI 被视为卸载

visual-studio - Codelens Visual Studio 2015 社区

c# - 如何在用 C# 编写的 Windows 服务中获取 ServiceName?

visual-studio-2008 - 包含文件夹中所有文件的 Visual Studio 安装项目

c# - .NET/ASP.NET 与 Java 的高级功能比较