我正在学习VS 2008安装项目来为我们的C#应用程序创建安装。我在卸载过程中尝试删除exe本身时犯了一个错误。现在我手动删除了exe文件但该条目仍然在Add Remove Program列表中。我尝试安装一个固定的新版本,但msi不允许我这样做。
如何手动删除旧版本(我可以使用regedit,没问题)?我正在使用XP机器。感谢
编辑: 我删除了该卸载注册表项中的子项后,仍然无法安装我的新版本。
答案 0 :(得分:14)
如果这是一个适当的小型更新/次要升级.msi文件来修复无法卸载的早期版本,只需使用msiexec /i updated.msi REINSTALLMODE=vomus
(也可能是REINSTALL=ALL
)安装它。 vomus v将使Windows Installer用新的替换旧包,然后你可以正常卸载。
但是当然所有这些都是不必要的,因为能够在虚拟机上进行测试,你可以恢复......
答案 1 :(得分:12)
在此处删除注册表中的安装条目。您可能需要从安装项目中找出GUID。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall OR
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
同时检查DisplayName,当您的产品定义了友好名称时,它会很有用。
答案 2 :(得分:8)
使用msiexec /x {guid product code}
。如果您的MSI数据库搞砸了,但这不起作用,请尝试msizap
。