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