我知道可以设置指令 ArchitecturesInstallIn64BitMode=x64 ia64
,这样 Inno Setup 将决定处理器类型并在可能的情况下以 64 位安装。
但我需要一些 [Code]
部分函数来设置安装模式(32 或 64)。
这可能吗?
示例:
此函数将返回 Java 安装架构(32 或 64):
function CheckJavaInstallation()
根据结果我想将 Inno Setup 设置为正确的安装模式 -> 选择正确的 Program Files
或 Program files (x86)
并在正确的位置注册表(正常或WOW6432Node
)。
最佳答案
我建议您创建两个检查器函数:IsJava32
和 IsJava64
。然后,对于每个文件、注册表项等,您可以使用其中一个检查器添加两个版本,例如:
[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/