我需要创建一些 Windows 服务,显然我想将它们打包在一个不错的安装程序中。
由于我不熟悉服务创建/安装,我基本上使用了以下示例中的代码:
高级服务安装
我没有更改 ProjectInstaller 或 InstallActions,基本上只是插入我自己的服务(文件监视/转换)。
构建和编译代码工作正常:
- 安装程序正常工作,服务已安装(但未按预期启动)
- 我的服务本身都可以工作
- 卸载失败,指出标题中的错误
非常奇怪的是:
如果在卸载失败后,我运行“修复”并随后从安装文件夹中手动删除 *.Installstate,则卸载程序会神奇地工作。
这让我抓狂。
我想我可以为我的服务的潜在用户记录这个怪癖,但我不喜欢不知道到底发生了什么。
调试这类事情真的很困难(甚至不知道如何进行),而且文档非常稀缺(甚至不存在)。
有人有一些建议吗?
我通过这样做解决了这个问题:
- 进入安装文件夹
- 使用记事本或 XML 编辑器编辑文件 xxxxxxx.InstallState(其中 xxxxx 是您的服务的名称)
- Go to
ArrayOfKeyValueOfanyTypeanyType
节点,然后到Keys
node
- Delete
anyType
child
- 转到 Values 节点并删除所有
anyType
child
- 保存文件并尝试卸载
这对我有用。问候
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)