Cha*_*own 2 inno-setup 32bit-64bit
我知道ArchitecturesInstallIn64BitMode=x64 ia64可以设置该指令,以便Inno Setup可以确定处理器类型,并在可能的情况下以64位安装。
但是我需要一些[Code]section函数来设置安装模式(32或64)。
可能吗?
例:
此函数将返回Java安装体系结构(32或64):
function CheckJavaInstallation()
Run Code Online (Sandbox Code Playgroud)
根据结果,我想将Inno Setup设置为正确的安装模式->选择正确的Program Files和,Program files (x86)并在正确的注册表中选择(normal或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;
Run Code Online (Sandbox Code Playgroud)
[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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3703 次 |
| 最近记录: |