1. 程式人生 > 實用技巧 >安裝製作軟體InnoSetup

安裝製作軟體InnoSetup

InnoSetup介紹

  InnoSetup 是一個免費開源的 Windows 安裝程式製作軟體。第一次發表是在 1997 年,Inno Setup 今天在功能設定和穩定性上的競爭力可能已經超過一些商業的安裝程式製作軟體。

  安裝程式用編譯指令碼的方式建立,指令碼其實就是一個類似.INI 檔案格式的檔案,指令碼用一個“.iss”(表示 Inno Setup Script指令碼) 的副檔名。指令碼控制著安裝程式的所有方面。由它指定哪些檔案將被安裝到什麼地方,在哪裡建立快捷方式,且被命名為什麼。

  指令碼檔案一般可以用安裝程式編譯器程式內建的編輯器進行編輯。在你編寫完指令碼後,下一個最終步驟就是選擇安裝程式編譯器中的“編譯”。建立完成後,就可以執行根據你指令碼編譯的安裝程式了。按預設,這個安裝程式建立在包含指令碼檔案目錄下的名為“輸出”目錄中。

  Inno Setup 安裝目錄下的Examples 子目錄中有好多模板指令碼檔案可供參考。

innoSetup功能

1.支援現在所有正在使用的Windows版本:

2.支援建立單個 EXE 格式的安裝程式,使你的程式可以很方便地在網路上發表。同時也支援磁碟延伸。

3.定製安裝型別,例如:完整安裝,最小安裝,自定義安裝。

4.完整的解除安裝功能。

5.檔案安裝:包括完全的“壓縮”支援,bzip2 和 7-Zip LZMA 檔案壓縮。安裝程式可以比較檔案版本資訊,替換正在使用的檔案,使用共享檔案計數,註冊 DLL/OCX 和型別庫,以及安裝字型。

6.可以在任意地方建立快捷方式,包括開始選單和桌面。

7.建立登錄檔 和 .INI 條目。

8.在安裝之前、之中或之後可執行其他程式。

9.支援多語言安裝。

10.支援密碼和加密安裝。

11.支援數字簽名 、安裝和解除安裝。

12.後臺安裝和後臺解除安裝。

13.完整的 Pascal 指令碼 引擎選項於執行期高階自定義安裝和解除安裝。

14.全部原始碼公開 (Delphi)。

InneSetup指令碼

典型inneSetup指令碼

 1 [Languages]
 2 Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
 3 
 4 [Setup]
 5 AppName=光何光合系統管理系統 
6 AppVersion=1.0 7 WizardStyle=modern 8 DefaultDirName=D:\FounderCB 9 DefaultGroupName=光何軟體 10 UninstallDisplayIcon={app}\uninstall.exe 11 Compression=lzma2 12 SolidCompression=yes 13 OutputDir=install 14 SetupIconFile=D:\光合系統安裝盤\founder.ico 15 OutputBaseFilename=founderCB_setup 16 17 [Files] 18 Source: "D:\光合系統安裝盤\mysql-8.0\*"; DestDir: "{app}\mysql-8.0";Flags:igNoreversion recursesubdirs createallsubdirs 19 Source: "D:\光合系統安裝盤\openjdk-11.0.2_windows-x64\*"; DestDir: "{app}\openjdk-11.0.2_windows-x64";Flags:igNoreversion recursesubdirs createallsubdirs 20 Source: "D:\光合系統安裝盤\apache-tomcat-9.0.37\*"; DestDir: "{app}\apache-tomcat-9.0.37";Flags:igNoreversion recursesubdirs createallsubdirs 21 Source: "D:\光合系統安裝盤\chrome-84\*"; DestDir: "{app}\chrome-84";Flags:igNoreversion recursesubdirs createallsubdirs 22 Source: "D:\光合系統安裝盤\init.bat"; DestDir: "{app}";Flags:igNoreversion recursesubdirs createallsubdirs 23 Source: "D:\光合系統安裝盤\startService.bat"; DestDir: "{app}";Flags:igNoreversion recursesubdirs createallsubdirs 24 Source: "D:\光合系統安裝盤\shutdownService.bat"; DestDir: "{app}";Flags:igNoreversion recursesubdirs createallsubdirs 25 Source: "D:\光合系統安裝盤\startup.bat"; DestDir: "{app}";Flags:igNoreversion recursesubdirs createallsubdirs 26 Source: "D:\光合系統安裝盤\founder.ico"; DestDir: "{app}";Flags:igNoreversion recursesubdirs createallsubdirs 27 28 [Icons] 29 Name: "{group}\光何光合系統"; Filename: "{app}\startup.bat";IconFilename:"{app}\founder.ico";IconIndex:12; 30 Name: "{userdesktop}\光何光合系統"; Filename: "{app}\startup.bat";IconFilename:"{app}\founder.ico";IconIndex:12; Tasks: desktopicon 31 32 [INI] 33 Filename:"{app}\mysql-8.0\my.ini";Section:"mysqld";Key:"basedir"; String:"{app}\mysql-8.0" 34 Filename:"{app}\mysql-8.0\my.ini";Section:"mysqld";Key:"datadir"; String:"{app}\mysql-8.0\data" 35 36 [Run] 37 Filename: "{app}\init.bat"; Description: "{cm:LaunchProgram,光何光合系統初始化指令碼}"; Flags: nowait postinstall skipifsilent 38 Filename: "{app}\startService.bat"; Description: "{cm:LaunchProgram,光何光合系統服務啟動指令碼}"; Flags: nowait postinstall skipifsilent