是否有可能告诉Innosetup卸载32位版本的应用程序(通常驻留在Program Files(x86)中)以安装64位版本的应用程序(通常在Program Files中).如果未卸载32位版本,那么它们的bot将在启动时启动,从而导致
我不知道是否有这样的程序.鉴于64位应用程序基本上是一个不同的应用程序,尝试卸载32位应用程序似乎试图卸载一个不相关的应用程序.
动机将是越来越少的供应商提供对32位库的支持.例如,msvc2017的Qt没有32位库.所以我越早移动到64位就越好.
注意:如果Innosetup无法做到这一点,欢迎任何其他选择.
只需卸载以前的32位版本,就像其他任何版本一样.见How to detect old installation and offer removal?
它应该几乎是开箱即用的,只要32位和64位版本的安装程序都具有相同的AppId
.唯一不同的是你需要在HKLM32中明确地寻找卸载密钥( 32位配置单元而不是HKLM / HKEY_LOCAL_MACHINE(在64-bit install mode中默认为64位配置单元).
如果您已经从InitializeSetup
卸载32位版本,正如上面问题的接受答案所示,Inno安装程序将不会注意到32位版本曾经存在,甚至会“重置”默认安装路径到64-位Program Files文件夹.