2011-01-28 28 views

Respuesta

62

Es posible. Echar un vistazo a la muestra 64BitTwoArch.iss (especialmente el booleano Is64BitInstallMode):

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

gracias funciona – Revvion

+6

parece que también hay un método booleano IsWin64 relacionada http://stackoverflow.com/questions/3618049/how- to-detect-64bit-platform-by-script – rogerdpack