0

我有一个Windows安装程序安装我创建的服务。我在我的开发机器上而不是测试机器上测试过。应用程序文件不再存在,并且该服务不会显示在管理工具下的Windows服务列表中。我试图从添加/删除程序中删除条目。在卸载程序运行时,我使用卸载服务的自定义操作来设置安装程序。如果从“添加/删除程序”中删除服务应用程序(如果它不再列为服务)?

即使手动将文件复制到预期位置并手动将服务添加到服务列表中,卸载程序也会失败。我无法设法从添加删除程序列表中删除它。我如何从列表中删除它?

回答

1

所有entries shown in the Add/Remove Programs panel are found in the Registry keyHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall - 你会在一个GUID(如“{123409-ADSF-1234命名的子项,找到你...}“)如果它是从MSI安装的(在这种情况下, 您可能想要重新运行MSI以清除干净地删除 您确实应该使用msiexec /x {GUID}进行卸载,或者双击原始MSI软件包并选择“删除”)或者它可以是任何名称,如果它与另一个安装工具一起安装的话。

+0

我不会推荐这么做,因为组件和功能注册信息仍然会保留在机器上。此外,重新安装MSI以进行彻底删除并不是一个真正的选择,因为Windows安装程序使用不同软件包安装的组件的引用计数。 – 2011-05-28 15:45:36

+0

确切地说......这就是为什么我建议MSI只能从原始或缓存包中卸载的原因 - 我将更正措辞,以便更清楚。重新运行软件包(如果已安装)通常会提示您是否要“修复”或“删除”(除非另有创作);幸运的是,修复和重新安装已安装的MSI不会增加共享组件重新计数。 – ewall 2011-05-31 16:37:54

相关问题