inno-setup - 卸载 32 位应用程序并安装 64 位应用程序

标签 inno-setup

是否有可能告诉 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 中明确查找卸载 key 。 (32 位配置单元)而不是 HKLM/HKEY_LOCAL_MACHINE (在 64-bit install mode 中默认为 64 位配置单元)。

如果您从 InitializeSetup 卸载 32 位版本已经,正如上述问题的公认答案所示,Inno Setup 不会注意到 32 位版本曾经存在过,甚至会将默认安装路径“重置”到 64 位 Program Files文件夹。

关于inno-setup - 卸载 32 位应用程序并安装 64 位应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45006468/

相关文章:

installation - 如何强制 Inno Setup 动态设置安装文件夹

inno-setup - 如何将 Inno Setup 任务页面的任务列表拆分为多个列?

inno-setup - Inno Setup 从 .ini 读取值

inno-setup - 根据用户输入更改 AppID 和 AppName

inno-setup - 半透明向导表单

inno-setup - 如何执行显示 Inno Select 语言对话框的代码

windows - 在 Inno Setup 卸载程序中更改 WizardSmallBitmapImage

inno-setup - 为每个文件调用 Inno Setup AfterInstall 函数

inno-setup - 从桌面 innosetup 替换相同的快捷方式

inno-setup - Inno Setup - #define 指令 - 如何使用先前定义的变量?