windows服务卸载

windows service uninstallation

我创建了一个简单的 windows 服务。并将安装项目添加到此解决方案。我可以成功构建服务和设置项目。同样在构建之后,我可以使用成功创建的 MSI 文件。 我可以成功安装 windows 服务并实现功能。

但现在我想卸载该服务并从 Add/Remove 程序中删除该服务。该服务已从 Add/Remove 个程序中卸载。 但我仍然可以在服务列表中看到该服务。在为 windows 服务创建设置时是否需要添加任何内容?

创建安装项目时,您可以在安装前将外部命令设置为 运行:

  1. 右键单击 visual studio 和 select 中的 SetupProject"自定义 视图中的操作
  2. 您会发现这些自定义操作:安装、提交、回滚和卸载。
  3. 依次右键单击这些操作中的每个,然后添加一个 自定义操作.
  4. 这样做之后,您会在项目 window 中找到一个 select 项。
  5. 在window、select 应用程序文件夹下拉列表中。这将列出 windows 服务的主要输出,select 它并单击 确定
  6. 保存并构建安装项目。

使用服务安装程序卸载服务时的典型问题 类 是安装项目不提供自动停止服务。因此卸载将服务标记为删除。它无法删除它,因为它不会阻止它。如果您重新启动系统,您可能会看到该服务最终消失了。

典型的解决方案是覆盖卸载自定义操作并添加您自己的代码以显式停止服务,然后 base.Uninstall() 将能够将其删除。

更好的解决方案是使用另一个支持内置 Windows 安装程序功能的工具,无需任何代码(ServiceInstall 和 ServiceControl 表)即可完成此操作。