卸载Windows服务失败有时会强制重新启动计算机

时间:2010-11-19 18:32:59

标签: c# windows-services packaging setup-deployment

我在卸载和重新安装Windows服务时遇到问题。有时当我使用MSI软件包卸载服务时(即使在停止服务并关闭服务管理控制台之后),服务也没有被卸载,然后如果我运行“installUtil”,那么服务将被禁用,但不会被删除从控制台。然后,如果我尝试“sc delete service.exe”,我收到错误“服务被标记为删除”。一旦发生此错误,我唯一的选择是重新启动工作站或服务器,无论它安装在何处。有时它工作正常,有时它不能正确卸载。如何确保卸载始终有效?卸载为何如此痛苦?在开发过程中,我需要多次重新安装该服务以安装新版本的服务,并且无需重新启动计算机即可轻松重新安装服务。
提前谢谢。

2 个答案:

答案 0 :(得分:2)

我在测试过程中不断安装,重建和卸载服务时遇到了类似的问题。我认为这与在重新尝试卸载服务之前重建MSI有关。始终从“添加/删除程序”对话框中卸载应该避免这种情况,但这有点麻烦。我最后修改了我的Wix安装项目,做了三件事:

  1. MSI设置为启动/停止服务。一个例子here
  2. 如果已安装当前版本或新版本,请执行自定义操作以停止安装。基于this代码。
  3. 在桌面上创建卸载快捷方式。一个例子here

答案 1 :(得分:0)

也许您的服务正在关闭一些问题,因为它遇到了未处理的错误。如果有日志,请尝试查看是否有任何内容被抛出。否则,我会添加一个日志机制(例如log4net)。如果不能选择添加日志记录机制,chezy525的解决方案似乎还有待实现。

相关问题