有时,当我卸载安装程序(使用 WIX 创建的)时,服务仍标记为删除,用户必须重新启动计算机才能再次安装。
我如何验证该服务是否已标记为删除并告诉用户在进行其他安装之前重新启动计算机?
一般来说,当某项服务仍然锁定在该服务上,从而阻止 Windows 删除其在注册表中的配置时,就会出现这种情况。 (在大多数情况下,它只是服务小程序 - services.msc - 在后台意外打开。)
对于检测,我建议您阅读创建服务 http://msdn.microsoft.com/en-us/library/ms682450%28v=VS.85%29.aspx和别的服务接口 http://msdn.microsoft.com/en-us/library/ms685942%28v=VS.85%29.aspx。例如,如果服务被标记为删除,则在调用 CreateService 时您将收到 ERROR_SERVICE_MARKED_FOR_DELETE。
关于您建议的重新启动解决方案...Windows 已经足够先进,几乎不需要出于任何原因重新启动。除非您正在安装专门的内核驱动程序,否则不需要重新启动。不要偷懒!把用户放在心上!我建议更改安装程序逻辑以检测潜在冲突的运行程序(例如服务小程序),并建议关闭。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)