Installation 使用Inno安装程序安装Firebird的正确版本(32位或64位)

Installation 使用Inno安装程序安装Firebird的正确版本(32位或64位),installation,inno-setup,Installation,Inno Setup,我有一个Inno脚本安装程序,用户可以选择只安装32位版本的Firebird。现在我有了一台64位的机器,并使用了6位Firebird来确认我的应用程序与它一起工作,我希望我的安装程序在32位平台上显示32位Firebird安装程序,在64位平台上显示64位安装程序 在安装操作部分,我显示了Firebird安装程序的一个复选框,这样用户就可以选择在未安装Firebird安装程序时安装它,或者在已经安装Firebird安装程序时不运行它 这是我的脚本: [Run] Filename: {app}

我有一个Inno脚本安装程序,用户可以选择只安装32位版本的Firebird。现在我有了一台64位的机器,并使用了6位Firebird来确认我的应用程序与它一起工作,我希望我的安装程序在32位平台上显示32位Firebird安装程序,在64位平台上显示64位安装程序

在安装操作部分,我显示了Firebird安装程序的一个复选框,这样用户就可以选择在未安装Firebird安装程序时安装它,或者在已经安装Firebird安装程序时不运行它

这是我的脚本:

[Run]

Filename: {app}\Firebird-2.5.1.26351_1_x64.exe; Parameters: "/SILENT /NOCPL"; WorkingDir: {app}; Flags: postinstall skipifsilent 64bit; Check: Is64BitInstallMode; 

Filename: {app}\Firebird-2.5.1.26351_1_Win32.exe; Parameters: "/SILENT /NOCPL"; WorkingDir: {app}; Flags: postinstall skipifsilent 32bit; Check: "not Is64BitInstallMode"; 
问题是,对话框窗体上只显示32位安装程序

这两个文件都包含在内,以便在我的应用程序安装期间都可用:

[Files]

Source: ..\Firebird-2.5.1.26351_1_x64.exe; DestDir: {app}

Source: ..\Firebird-2.5.1.26351_1_Win32.exe; DestDir: {app}
如何让我的安装程序在64位平台上显示64位Firebird安装程序


谢谢

在InnoSetup安装的
Examples\64BitTroarch.iss
文件中有一个这样做的例子(在Win32上安装32位版本或在Win32上安装64位版本)

; -- 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"