我已经创建了安装Windows服务的设置,但是当我卸载它时,服务仍然启动而不是删除。我在Wix中创建了设置msi。
<DirectoryRef Id="INSTALLDIR">
<Component Id='MyComponent' Guid='CDBA9BC4-F839-4CAB-8AB0-4397EC079541'>
<File Id='LogFWService' Name='LogFWService.exe' Source="$(var.LFShared)\LogFWService.exe" KeyPath="yes" />
<ServiceInstall Id="InstallLFService" Name="LogFWService" DisplayName="OpenFramework Logging Service" Start="auto" ErrorControl="normal" Description="Captures log events and inserts the log messages into database" Type="ownProcess">
<ServiceDependency Id="MSMQ" />
</ServiceInstall>
<ServiceControl Id="sc_InstallLFService" Name="LogFWService" Start="install" Remove="uninstall" Stop="both" Wait="yes"/>
</Component>
</DirectoryRef>
即使我已经使用了删除文件属性,但在卸载时它仍然不会删除Windows服务。 请帮忙,任何人都有关于卸载Windows服务的知识。
答案 0 :(得分:2)
我有类似的问题。我不是100%肯定,但我认为在我更改了安装组件的GUID后它就消失了。以前的GUID是从另一个项目复制粘贴的,以及用于安装Windows服务的整个安装标记,我忘了用新的GUID替换它。
BTW您可以使用命令propmt命令sc:
删除“剩余”服务sc删除“YourServiceNameHere”
答案 1 :(得分:0)
在开发环境中测试同一个wix安装程序的多个版本时,我遇到了这种情况。问题是它无法删除实体(组件),因为仍然存在声明的依赖项。它通常是由于某些注册表项在之前的尝试中遗留下来的。
搜索以下内容并删除相应的(不是全部)键
显示名称搜索的某些键往往位于“最近使用”列表或其他良性位置。使用标准regedit时这可能是一个繁琐的过程,因此如果你走这条路线,建议使用更好的工具。
理想情况下,您应该在可以恢复到先前状态的计算机上测试安装程序。