首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RemoveExistingProducts中指定卸载.msi的位置

在RemoveExistingProducts中指定卸载.msi的位置
EN

Stack Overflow用户
提问于 2011-03-11 22:25:27
回答 3查看 859关注 0票数 2

我正在为我们软件的最新版本编写一个使用WiX 3.5的安装程序。以前版本的安装程序是使用InstallAware 8编写的。在安装过程中,我想删除旧版本,但InstallAware做了一些奇怪的事情,所以正常的RemoveExistingProducts方法不起作用。msiexec /x {PRODUCTCODE}也不需要。

当RemoveExistingProducts运行时,它会弹出一个对话框,询问旧安装中的.msi文件的位置。我可以在注册表中找到它的位置,如果我在对话框中输入该位置,卸载就可以正常工作。但是,我希望对话框不显示,有什么方法可以告诉RemoveExistingProducts在哪里可以找到它吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-11 23:11:48

似乎违反了一些避免提示源的规则。看看these recommendations是否有帮助。

票数 2
EN

Stack Overflow用户

发布于 2014-05-23 04:15:05

除了这个答案之外,还请检查这个答案:"different ways to uninstall an MSI“。

检查是否为您的旧设置定义了自定义卸载字符串:

此处为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YOUR GUID \UninstallString

这是控制面板中的添加/删除小程序最常使用的位置。如果您在此处找到卸载字符串,则可以在运行新安装之前通过自定义操作运行卸载。有点难看,我更喜欢通过setup.exe运行安装过程。

另一个位置是:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products

在这里,您将找到打包的GUID。检查每个GUID下,然后检查InstallSource.的"InstallProperties“下此路径是安装引擎将在其中查找卸载应用程序所需的MSI文件的搜索路径。

票数 1
EN

Stack Overflow用户

发布于 2011-03-11 23:44:11

如果HKLM\Software\Microsoft\Windows\CurrentVerison\Uninstall\<GUID_or_product_name>\WindowsInstaller键设置为1,那么您需要在HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<mangled_guid>\InstallProperties\InstallSource中查看它认为.msi被缓存的位置。基本上,在搜索InstallSource时,请确保您正在查找正确的注册表位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5274098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档