如何手动删除MSI安装?

5Yr*_*DBA 12 .net windows windows-installer deployment-project

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

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

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

替代文字

Mic*_*man 14

如果这是一个适当的小型更新/次要升级.msi文件来修复无法卸载的早期版本,只需安装它msiexec /i updated.msi REINSTALLMODE=vomus(也可能也是REINSTALL=ALL).vomus的v将使Windows Installer用新的替换旧的包,然后你可以正常卸载.

但是当然所有这些都是不必要的,因为能够在虚拟机上进行测试,你可以恢复......

  • **谢谢你**!直到现在,我一直在关注 _dumbest_ 错误情况。“产品已安装,请先卸载”后接“仅对已安装产品有效”。谈论激怒。 (2认同)

ton*_*yjy 13

在此处删除注册表中的安装条目.您可能需要从安装项目中找出GUID.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall OR
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Run Code Online (Sandbox Code Playgroud)

同时检查DisplayName,当您的产品定义了友好名称时,它会很有用.

  • 有一个MS的工具来帮助解决这个问题,请参阅http://support.microsoft.com/kb/2438651/ (3认同)
  • 此外,如果安装程序不需要提升,请删除以下项:`HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\{<Product-GUID>}`。否则使用`HKLM`蜂巢。 (2认同)

Ant*_*hyy 8

使用msiexec /x {guid product code}.如果您的MSI数据库搞砸了,这不起作用,请尝试msizap.

  • 在msizap的评论中,建议改为使用http://support.microsoft.com/mats/Program_Install_and_Uninstall,这对我有用. (5认同)