- 2樓 beihua 發表於:2009-8-9 14:53
- 怎麼寫?
比如:設置系統變量path=C:/aaa/bin
新建一個iss腳本文件,保存到一個目錄下(同時把你的待打包的程序文件也放在這個目錄下),就可以開始寫腳本了,inno setup的腳本類似於windows ini文件格式,整個分成多個節,每個節下面有一些設置選項。比如Setup節下面決定的是整個安裝程序的一些環境變量值。
Files節設置的是待拷貝的文件列表。
Icons設置的是應用程序組,桌面快捷方式,快速啓動欄快捷方式等等。
Run設置的是安裝程序執行完畢後啓動的程序。
這些都是最基本的節,還有非常多的更高級的節可以使用。完了之後就是編譯,得到你的安裝程序。
安裝好Inno Setup Compiler漢化版啓動軟件後的界面(見圖1):
圖1
下面我以製作ePSXe1.50漢化版安裝程序爲例簡介製作過程,先將要打包的全部文件放到一個空文件夾裏待用.(我的放在: D:/pp-work)
選擇創建新的空白腳本文件,按確定:(見圖2)
圖2
按下一步:(見圖3)
圖3
在相應的項目裏填上該填的東東,(圖裏我已填好),按下一步:(圖4)
圖4
不難,同樣是在相應的項目填上該填的J,在應用程序基本目的目錄的下拉選項裏還有一個自定義,也就是自定義安裝路徑.而像我那樣選就是將文件安裝到: C:/Program Files/ePSXe裏,其他的就相應的填.然後當然是下一步了:(圖5)
圖5
這一步要注意,在圖中的1處填上主程序文件(建議用瀏覽的方法),然後按添加文件,添加要安裝在C:/Program Files/ePSXe裏的文件.再按添加目錄,(只能一個個添加,要是子目錄多就煩了).把要安裝的目錄全部添加完後,記住一定要編輯所添加的目錄,要不全部文件都會安裝在C:/Program Files/ePSXe裏!步驟是:在2裏選添加的目錄後按編輯(見圖6)
圖6
在1處填上子止錄的名稱,在2裏還有其它選擇,可以將其它的一些文件安裝在WINDOWS,SYSTEM等其它目錄裏(見圖7)
圖7
其它的目錄同樣方法設置好,接着當然是下一步:(見圖8)
圖8
這裏也是相應的填好,就NEXT:(見圖9)
圖9
一眼明瞭,不用我講,填好就NEXT,然後按完成,程式問你是否對腳本進行編譯,要你覺得可以了,那就讓它編譯,就會生成一個SETUP.EXE文件,大功就告成了!若你想修改修改那就按否,可以對腳本進行修改(比如在註冊表加信息,在程序組加一個選項等等),當然就要知道它的語法了!一聽到語法也許你就怕,其實它的語法是不難的,在幫助裏一下就能看明白.只要你學過一點點編程.再說,大部分的東東已自動生成了.正好,我這個例子要在程序組裏加一個英文版的快捷方式,且要修改快捷方式的工作目錄!要不然,程序在用快捷方式啓動後工作不了!(因爲此程序要在快捷方式的工作目錄裏找其它文件!建議製作安裝程序都修改工作目錄,以免不正常)
好了,生成的腳本格式在程序裏是這樣的:(見圖10)
圖10
可以直接在裏面修改,你會看到語法是加亮的J好用吧!好了我們要修改的如下:
修改前:
...
[Icons]
Name: "{group}/ePSXe 1.50 漢化版"; Filename: "{app}/p-epsxe.exe"
Name: "{userdesktop}/ePSXe 1.50 漢化版"; Filename: "{app}/p-epsxe.exe"; MinVersion: 4,4; Tasks: desktopicon
...
修改後:
...
[Icons]
Name: "{group}/ePSXe 1.50 漢化版"; Filename: "{app}/p-epsxe.exe"; WorkingDir: "{app}"
Name: "{group}/ePSXe 1.50 英文版"; Filename: "{app}/epsxe.exe"; WorkingDir: "{app}"
Name: "{userdesktop}/ePSXe 1.50 漢化版"; Filename: "{app}/p-epsxe.exe"; MinVersion: 4,4; Tasks: desktopicon; WorkingDir: "{app}"
...
完成了!編譯好就完成了安裝程序的製作了!
至於語法,可在幫助的Inno Setup資料裏找到,它說得很詳盡,要加東東只要依樣畫葫蘆.如要在註冊表加信息:
...
[Registry]
Root: HKCU; Subkey: "Software/My Company"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software/My Company/My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software/My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software/My Company/My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software/My Company/My Program"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"