我正在学习VS 2008安装项目,为我们的C#应用程序创build安装。 我犯了一个错误,试图在卸载过程中删除exe本身。 现在我手动删除exe文件,但条目仍然在添加删除程序列表。 我试图安装一个固定的新版本,但msi不允许我这样做。
我怎样才能手动删除旧版本(我可以使用registry,没问题)? 我正在使用XP机器。 谢谢
编辑:我删除它在该卸载registry项中的子项后,我仍然无法安装我的较新版本。
使用msiexec /x {guid product code}
。 如果你的MSI数据库搞砸了,这不起作用,请尝试msizap
。
如果这是一个适当的小更新/次要升级.msi文件来修复无法卸载的早期版本,只需安装它与msiexec /i updated.msi REINSTALLMODE=vomus
(也许还REINSTALL=ALL
)。 vomus v将Windows安装程序用新的替换旧的包,然后您可以正常卸载。
但是,当然,这些都是不必要的,只要在虚拟机上测试就可以恢复。
在注册表中删除您的安装条目。 您可能需要从安装项目中找到GUID。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall OR HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
检查显示名称,当您的产品定义了友好名称时,它会很有帮助。
我遇到了同样的问题,安装Windows服务时缺少原始的.msi-package。 我解决了这些步骤:
之后,我可以成功使用新版本的.msi-package