1. 程式人生 > >Inno Setup 根據window系統32位或64位安裝對應程式

Inno Setup 根據window系統32位或64位安裝對應程式

最近在弄java Swing 打包成可執行檔案,這時候用到了Inno Setup工具,這個打包成安裝程式還是非常不錯的,下面用到的Inno Setup的指令碼,有註釋

; -- 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=PC_tool   
AppVersion=1.5
;安裝目錄
DefaultDirName=D:\install\PC_tool    
DefaultGroupName=PC_tool
;解除安裝檔名{app}為安裝目錄資料夾
UninstallDisplayIcon={app}\tool.exe
;壓縮方式
Compression=lzma2
SolidCompression=yes
;生打包生成安裝exe檔案生成的位置
OutputDir=D:\JackWork\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),
; Check: Is64BitInstallMode 表示是64位window系統
; Check: not Is64BitInstallMode表示是32位window系統
Source: "D:\JackWork\tool\tool64.exe"; DestDir: "{app}"; DestName: "tool64.exe"; Check: Is64BitInstallMode
Source: "D:\JackWork\tool\tool32.exe"; DestDir: "{app}"; DestName: "tool32.exe"; Check: not Is64BitInstallMode
;\*表示匹配tool檔案的所有資料夾。 Flags: igNoreversion recursesubdirs createallsubdirs 表示所有子檔案都包含在內
Source: "D:\JackWork\tool\*"; DestDir: "{app}"    ; Flags: igNoreversion recursesubdirs createallsubdirs


[Icons]
;生成對應系統快捷鍵{userdesktop} 表示桌面生成一個tool64.exe圖示  Filename表示對應exe檔案,WorkingDir工作目錄
Name:"{userdesktop}\tool64.exe"; Filename:"{app}\tool64.exe"; WorkingDir:"{app}"; Check: Is64BitInstallMode
;生成對應系統快捷鍵{userdesktop} 表示桌面生成一個tool32.exe圖示  Filename表示對應exe檔案,WorkingDir工作目錄
Name:"{userdesktop}\tool32.exe"; Filename:"{app}\tool32.exe"; WorkingDir:"{app}"; Check: not Is64BitInstallMode

僅作為參考:

參考地址:https://stackoverflow.com/questions/4833831/inno-setup-32bit-and-64bit-in-one