我需要创建一些Windows服务,显然我想将它们打包成一个漂亮的安装程序。
由于我不熟悉服务创建/安装,我基本上使用了以下示例中的代码:
我没有更改ProjectInstaller或InstallActions,基本上只是插入了我自己的服务(文件监控/转换)。
构建和编译代码可以正常工作:
有什么奇怪的:
如果在卸载失败后,我运行“修复”,然后手动从安装文件夹中删除* .Installstate,则卸载程序会神奇地工作。
这让我疯了。
我想我可以为我的服务的潜在用户记录这个怪癖,但我不喜欢不知道到底发生了什么。
调试此类事情非常困难(甚至不知道如何),文档非常稀缺(甚至不存在)。
有人提示吗?
答案 0 :(得分:2)
我遇到了同样的问题,我设法通过为自定义操作添加适当的条件来修复它。在我的情况下,我在安装和卸载阶段将未安装添加到我的Windows服务安装程序。之后没有错误。 希望这会有所帮助!查找有关此问题的更多信息here。
答案 1 :(得分:2)
我通过这样做解决了这个问题:
这对我有用。问候强>
答案 2 :(得分:1)
我知道这是一篇旧帖子,但我在执行自定义操作之前通过调用Installer类来修复我的问题,我不小心首先通过基本调用添加了我的代码。
答案 3 :(得分:1)
转到控制面板,然后首先修复您的设置。修复成功后,您将可以卸载。
答案 4 :(得分:0)
我有一个类似的问题,Windows Installer程序包(.msi)没有按预期卸载。我的解决方法是使用命令行使用InstallUtil.exe进行卸载。然后,使用InstallUtil.exe重新安装该服务。之后,我终于能够使用旧的msi进行卸载。在我使用旧的MSI卸载后,我能够使用新的msi进行安装,并且一切都按预期工作。