Windows服务卸载

时间:2017-08-23 13:19:03

标签: windows-services vb.net-2010 visual-studio-setup-proje

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

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

2 个答案:

答案 0 :(得分:0)

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

  1. 右键单击visual studio中的SetupProject,然后选择" custom 视图中的行动"
  2. 您将找到以下自定义操作:安装,提交,回滚和卸载。
  3. 依次右键单击每个这些操作并添加一个 自定义操作
  4. 执行此操作后,您将在项目窗口中找到一个选择项目。
  5. 在窗口中,在下拉列表中选择应用程序文件夹。这将列出Windows服务的主要输出,选择它并单击确定
  6. 保存并构建安装项目。

答案 1 :(得分:0)

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

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

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