是否有可能告诉Innosetup卸载32位版本的应用程序(通常驻留在Program Files (x86)
中(,以便安装64位版本的应用程序(通常在Program Files
(。如果未卸载 32 位版本,则它们的机器人将在启动时启动,从而导致问题。
我不知道是否有程序。鉴于 64 位应用程序基本上是一个不同的应用程序,尝试卸载 32 位应用程序似乎就像尝试卸载不相关的应用程序。
动机将是越来越少的供应商提供对32位库的支持。例如,msvc2017 的 Qt 没有 32 位库。所以我越早移动到 64 位越好。
注意:如果在Innosetup中无法做到这一点,欢迎任何其他替代方案。
只需卸载以前的 32 位版本,就像卸载任何其他版本一样.
请参阅如何检测旧安装和提供删除?
它应该几乎开箱即用,只要 32 位和 64 位版本的安装程序具有相同的AppId
.唯一的区别是您需要在HKLM32
(32 位配置单元(而不是HKLM
/HKEY_LOCAL_MACHINE
(在 64 位安装模式下默认为 64 位 hive(中显式查找卸载密钥。
如果您已经从InitializeSetup
卸载 32 位版本,如上述问题的已接受答案所示,Inno Setup 不会注意到 32 位版本曾经存在过,甚至会"重置"默认安装路径到 64 位Program Files
文件夹。