如何手动删除MSI安装?

时间:2010-11-01 13:48:06

标签: .net windows windows-installer deployment-project

我正在学习VS 2008安装项目来为我们的C#应用​​程序创建安装。我在卸载过程中尝试删除exe本身时犯了一个错误。现在我手动删除了exe文件但该条目仍然在Add Remove Program列表中。我尝试安装一个固定的新版本,但msi不允许我这样做。

如何手动删除旧版本(我可以使用regedit,没问题)?我正在使用XP机器。感谢

编辑: 我删除了该卸载注册表项中的子项后,仍然无法安装我的新版本。

alt text

3 个答案:

答案 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