32bit-64bit - 是否可以在 Inno Setup 中设置安装模式(32 位或 64 位)?

标签 32bit-64bit inno-setup

我知道可以设置指令 ArchitecturesInstallIn64BitMode=x64 ia64,这样 Inno Setup 将决定处理器类型并在可能的情况下以 64 位安装。

但我需要一些 [Code] 部分函数来设置安装模式(32 或 64)。

这可能吗?

示例:

此函数将返回 Java 安装架构(32 或 64):

function CheckJavaInstallation()

根据结果我想将 Inno Setup 设置为正确的安装模式 -> 选择正确的 Program FilesProgram files (x86) 并在正确的位置注册表(正常或WOW6432Node)。

最佳答案

我建议您创建两个检查器函数:IsJava32IsJava64。然后,对于每个文件、注册表项等,您可以使用其中一个检查器添加两个版本,例如:

[Files]
Source: "SourceSetupDir32\aFile1.dll"; DestDir: "{pf32}\{#MyAppName}\"; Check: IsJava32;
Source: "SourceSetupDir64\aFile1.dll"; DestDir: "{pf64}\{#MyAppName}\"; Check: IsJava64;
;...
Source: "SourceSetupDir32\aFile4.dll"; DestDir: "{pf32}\{#MyAppName}\"; Check: IsJava32;
Source: "SourceSetupDir64\aFile4.dll"; DestDir: "{pf64}\{#MyAppName}\"; Check: IsJava64;

[Registry]
Root: HKCU32; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty; Check: IsJava32;
Root: HKCU64; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty; Check: IsJava64;
[Code]

Function IsJava32(): Boolean;
Begin
  { ... }
End;

Function IsJava64(): Boolean;
Begin
  Result := Not IsJava32;
End;

关于32bit-64bit - 是否可以在 Inno Setup 中设置安装模式(32 位或 64 位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9788252/

相关文章:

Wix - 用一个较新的 32 位 MSI 替换单独的 32 位和 64 位 MSI

inno-setup - 从 Inno Setup [代码] 中拆卸字符串

directory - 如何在inno setup中删除非空文件夹

inno-setup - Inno Setup 在 [Files] 部分之前执行批处理文件

inno-setup - 如何在 Inno Setup 中不使用批处理文件执行命令行工具

android - 谷歌 Play 商店的 react-native android 应用程序中的 64 位版本问题

c++ - GCC -m32 标志 :/usr/bin/ld: skipping incompatible

gcc - 在具有 32 位用户空间的 64 位系统上,Configure 无法检测到正确的 ld

c++ - 使用 distcc 在 Ubuntu 上的 i686 系统上交叉编译 x86_64

inno-setup - 添加复选框以不添加开始菜单图标