Inno-setup 32bit and 64bit in one

前端 未结 1 932
执笔经年
执笔经年 2020-12-07 17:53

Is it possible to add a file say \"x64.dll\" when it is a 64bit installation and \"x86.dll\" when it is a 32bit installation?

相关标签:
1条回答
  • 2020-12-07 18:15

    It is possible. Take a look at the 64BitTwoArch.iss sample (especially the Is64BitInstallMode boolean):

    ; -- 64BitTwoArch.iss --
    ; Demonstrates how to install a program built for two different
    ; architectures (x86 and x64) using a single installer.
    
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!
    
    [Setup]
    AppName=My Program
    AppVersion=1.5
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program
    UninstallDisplayIcon={app}\MyProg.exe
    Compression=lzma2
    SolidCompression=yes
    OutputDir=userdocs:Inno Setup Examples Output
    ; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
    ; done in "64-bit mode" on x64, 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
    ; Note: We don't set ProcessorsAllowed because we want this
    ; installation to run on all architectures (including Itanium,
    ; since it's capable of running 32-bit code too).
    
    [Files]
    ; Install MyProg-x64.exe if running in 64-bit mode (x64; see above),
    ; MyProg.exe otherwise.
    Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: Is64BitInstallMode
    Source: "MyProg.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode
    Source: "MyProg.chm"; DestDir: "{app}"
    Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
    
    [Icons]
    Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
    
    0 讨论(0)
提交回复
热议问题