是否有可能告诉 Inno Setup 卸载应用程序的 32 位版本(通常驻留在Program Files (x86)
)以便安装 64 位版本的应用程序(通常在Program Files
)。如果不卸载32位版本,那么它们的bot就会在启动时启动,从而导致问题。
我不知道这是否有一个程序。鉴于 64 位应用程序基本上是一个不同的应用程序,尝试卸载 32 位应用程序看起来就像尝试卸载不相关的应用程序。
其动机是越来越少的供应商提供对 32 位库的支持。例如,msvc2017 没有 Qt 的 32 位库。所以越早迁移到 64 位越好。
注意:如果这在 Innosetup 中无法实现,欢迎使用任何其他替代方案。
只需像其他版本一样卸载以前的 32 位版本即可。
See 如何检测旧安装并提供删除? https://stackoverflow.com/q/11739317/850848
应该有效almost开箱即用,只要 32 位和 64 位版本的安装程序具有相同的AppId https://jrsoftware.org/ishelp/index.php?topic=setup_appid。唯一的区别是您需要在中明确查找卸载密钥HKLM32
(32 位配置单元)而不是HKLM
/HKEY_LOCAL_MACHINE
(默认为 64 位 hive64位安装模式 https://jrsoftware.org/ishelp/index.php?topic=32vs64bitinstalls).
如果您卸载 32 位版本已经,正如上述问题的接受答案所示,Inno Setup 不会注意到 32 位版本曾经存在,甚至会将默认安装路径“重置”为 64 位Program Files
folder.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)