| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | ; -- 64BitThreeArch.iss --; Demonstrates how to install a program built for three different; architectures (x86, x64, ARM64) using a single installer.; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES![Setup]AppName=My ProgramAppVersion=1.5WizardStyle=modernDefaultDirName={autopf}\My ProgramDefaultGroupName=My ProgramUninstallDisplayIcon={app}\MyProg.exeCompression=lzma2SolidCompression=yesOutputDir=userdocs:Inno Setup Examples Output; "ArchitecturesInstallIn64BitMode=x64 arm64" requests that the install; be done in "64-bit mode" on x64 & ARM64, meaning it should use the; native 64-bit Program Files directory and the 64-bit view of the; registry. On all other architectures it will install in "32-bit mode".ArchitecturesInstallIn64BitMode=x64 arm64[Files]; Install MyProg-x64.exe if running on x64, MyProg-ARM64.exe if; running on ARM64, MyProg.exe otherwise.; Place all x64 files hereSource: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: InstallX64; Place all ARM64 files here, first one should be marked 'solidbreak'Source: "MyProg-ARM64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: InstallARM64; Flags: solidbreak; Place all x86 files here, first one should be marked 'solidbreak'Source: "MyProg.exe"; DestDir: "{app}"; Check: InstallOtherArch; Flags: solidbreak; Place all common files here, first one should be marked 'solidbreak'Source: "MyProg.chm"; DestDir: "{app}"; Flags: solidbreakSource: "Readme.txt"; DestDir: "{app}"; Flags: isreadme[Icons]Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"[Code]function InstallX64: Boolean;begin  Result := Is64BitInstallMode and (ProcessorArchitecture = paX64);end;function InstallARM64: Boolean;begin  Result := Is64BitInstallMode and (ProcessorArchitecture = paARM64);end;function InstallOtherArch: Boolean;begin  Result := not InstallX64 and not InstallARM64;end;
 |