关于卸载Windows服务,我们对stackoverflow有很多疑问。
在尝试了所有这些问题之后,我仍然无法在新版本的安装上卸载Windows服务。
我使用安装和部署项目来安装/卸载我的项目,该项目有一个Windows服务和一些其他项目。
在安装较新版本的过程中,所有其他项目都已成功重新安装,但Windows服务项目无法重新安装并说:
错误1001:指定的服务已存在。
我提到this link并尝试将代码添加到我的安装自定义操作以停止服务。如果我正确理解了这个链接中的答案,我已经把代码放在服务的projectInstaller.cs文件中停止服务:
public override void Install(IDictionary stateSaver)
{
ServiceController sc = new ServiceController("SareeManagerNotifications");
if (sc.Status == ServiceControllerStatus.Running)
sc.Stop();
base.Install(stateSaver);
}
自定义操作窗格如下所示:
突出显示的部分是服务。
我还浏览了this answer,其中将自定义操作条件设置为NOT PREVIOUSVERSIONSINSTALLED
。
这对我不起作用。我哪里错了?
提前致谢:)
答案 0 :(得分:5)
编辑Windows服务时,请尝试以下步骤:
右键单击visual studio中的SetupProject,然后从视图中选择自定义操作。
您会发现4个自定义操作安装,提交,回滚和卸载。依次右键单击其中的每个操作并添加自定义操作
完成后,您会在项目窗口中找到选择项目。在窗口中,从查看下拉列表中选择应用程序文件夹。这将列出来自Windows服务的主要输出,选择此项并单击“确定”。
保存并构建安装项目。
希望这能解决你的问题......
答案 1 :(得分:0)
通常这是通过service control operations完成的。基本上,您需要为卸载设置停止和删除标志。
另一种方法是使用ServiceInstaller.Uninstall删除服务。