如何使用自定义卸载程序卸载Windows服务

Mar*_*hal 4 .net c# installer windows-services visual-studio

关于卸载Windows服务,我们对stackoverflow有很多疑问.
尝试了所有这些后,我仍然无法在新版本的安装上卸载Windows服务.

我使用安装和部署项目来安装/卸载我的项目,该项目有一个Windows服务和一些其他项目.

在安装较新版本的过程中,所有其他项目都已成功重新安装,但Windows服务项目无法重新安装,并说:

错误1001:指定的服务已存在.

我引用了此链接并尝试将代码添加到我的安装自定义操作以停止服务.如果我正确理解了这个链接的答案,我已经把代码停在服务的projectInstaller.cs文件中的服务:

public override void Install(IDictionary stateSaver)
{ 
      ServiceController sc = new ServiceController("SareeManagerNotifications");
      if (sc.Status == ServiceControllerStatus.Running)
          sc.Stop();
     base.Install(stateSaver);
}
Run Code Online (Sandbox Code Playgroud)

自定义操作窗格如下所示: 在此输入图像描述

突出显示的部分是服务.

我也经历了这个答案,它说将自定义动作条件设置为
NOT PREVIOUSVERSIONSINSTALLED.

在此输入图像描述

这对我不起作用.我哪里错了?

提前致谢 :)

Har*_*run 5

编辑Windows服务时,请尝试以下步骤:

  1. 右键单击visual studio中的SetupProject,然后从视图中选择自定义操作.

  2. 您将找到4个自定义操作安装,提交,回滚和卸载.右键单击其中一个操作,然后添加自定义操作

  3. 完成后,您将在项目窗口中找到一个选择项.在窗口中选择应用程序文件夹,从外观的下拉列表.这将列出Windows服务主要输出,选择此项并单击"确定".

  4. 保存并构建安装项目.

希望这能解决你的问题....