| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- ; -- 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 Program
- AppVersion=1.5
- WizardStyle=modern dynamic
- DefaultDirName={autopf}\My Program
- DefaultGroupName=My Program
- UninstallDisplayIcon={app}\MyProg.exe
- Compression=lzma2
- SolidCompression=yes
- OutputDir=userdocs:Inno Setup Examples Output
- ; "ArchitecturesInstallIn64BitMode=x64compatible or arm64" instructs
- ; Setup to use "64-bit install mode" on x64-compatible systems and
- ; Arm64 systems, meaning Setup should use the native 64-bit Program
- ; Files directory and the 64-bit view of the registry. On all other
- ; OS architectures (e.g., 32-bit x86), Setup will use "32-bit
- ; install mode".
- ArchitecturesInstallIn64BitMode=x64compatible or arm64
- [Files]
- ; In order of preference, we want to install:
- ; - Arm64 binaries on Arm64 systems
- ; - else, x64 binaries on x64-compatible systems
- ; - else, x86 binaries
- ; Place all Arm64-specific files here, using 'Check: PreferArm64Files' on each entry.
- Source: "MyProg-Arm64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: PreferArm64Files
- ; Place all x64-specific files here, using 'Check: PreferX64Files' on each entry.
- ; Only the first entry should include the 'solidbreak' flag.
- Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: PreferX64Files; Flags: solidbreak
- ; Place all x86-specific files here, using 'Check: PreferX86Files' on each entry.
- ; Only the first entry should include the 'solidbreak' flag.
- Source: "MyProg.exe"; DestDir: "{app}"; Check: PreferX86Files; Flags: solidbreak
- ; Place all common files here.
- ; Only the first entry should include the 'solidbreak' flag.
- Source: "MyProg.chm"; DestDir: "{app}"; Flags: solidbreak
- Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
- [Icons]
- Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
- [Code]
- function PreferArm64Files: Boolean;
- begin
- Result := IsArm64;
- end;
- function PreferX64Files: Boolean;
- begin
- Result := not PreferArm64Files and IsX64Compatible;
- end;
- function PreferX86Files: Boolean;
- begin
- Result := not PreferArm64Files and not PreferX64Files;
- end;
|