Mabinogi Kit 安裝模組腳本使用說明
Posted On 2008年10月25日 星期六 at 於 下午3:50 by Cedric因為只有少數人曾看過說明文件,特此補上
如果不想看冗長的網頁,可直接下載 腳本使用說明文件
腳本使用說明如下:
setup.exe 為安裝文件。
uninstall.exe 為卸載文件。
setup.bmp 為 setup.exe 調用的 logo,大小為 48×48 像素,若無則使用內置 logo。
setup.ini 為 setup.exe 使用的安裝配置文件。
language.ini 為多語言安裝時所需語言包文件。
所有的安裝模塊都以子目錄方式存放,每個子目錄下使用 plugin.ini 文件(可自定義文件名)進行配置,setup.exe 會自動識別。
setup.exe 支持的命令行參數:
1、 /s
無人值守安裝。
2、 /id:0404
以指定語言界面運行安裝程序(適用於多語言安裝界面)。
單一語言界面部分:
setup.ini 文件格式說明如下:
[main]
name=Mabinogi Kit rev.2454
readme=readme.txt
progdir=#progdir#\Mabinogi
id=Mabinogi Kit
exit=1
BrandingText=Build by CedricOdin
ininame=plugin.ini
system=2000
expanded=1
一、[main]
1、name=Mabinogi Kit rev.2454
此行表示安裝程序的名稱
2、readme=readme.txt
setup.exe 在運行時顯示 readme.txt 文件內容。可以使用 RTF 格式文件,如:readme=readme.rtf
3、progdir=#progdir#\Mabinogi
表示默認的安裝路徑,#progdir#為預定義的公用變量,代表 x:\Program Files 目錄,其它還有一些公用變量,在後面講。
4、id=Mabinogi Kit
表示此安裝程序所安裝軟件的標識符,和 plugin.ini 中的 id 含義一樣,便於將來升級時使用。
5、exit=1
1 表示安裝後自動退出,0 不退出。
6、BrandingText=Build by CedricOdin
自定義 setup.exe 界面下方橫線左端顯示的字符串。
7、ininame=plugin.ini
組件腳本文件名稱,默認為 plugin.ini。
8、system=2000
表示此安裝程序適用的操作系統,2000 代表 NT/2000/XP/2003 等 NT 內核系統,98 代表 Win9x 內核系統。如果省略此行表示適用於所有系統。
9、expanded=1
1 表示將樹狀組件列表全部展開。
二、[setup_run]/[uninstall_run]
[setup_run]
#sysdir#\imetool.exe|/?|#sysdir#=after|always|nowait|show
#sysdir#\notepad.exe||#sysdir#=before|always|wait|hide
[uninstall_run]
#sysdir#\imetool.exe|/?=after|always|nowait|show
#sysdir#\notepad.exe=before|always|wait|hide
全局安裝、卸載前後運行程序。用以控制安裝、卸載前後運行的程序。
等號左邊分為三部分,為命令行、參數和運行時路徑,用「|」分割。參數和運行時路徑均可省略。
註:若省略參數而需指定運行時路徑時,參數前的分割符不能省略,即須使用兩個連續的「|」。
舉例如下:#sysdir#\notepad.exe||#sysdir#=before|always|wait|hide
等號右邊分為四部分,用「|」分割。
第一部分可用值為 before 和 after,分別代表在安裝前還是安裝後運行。
第二部分可用值為 always 和 normal,always 表示即使在靜默安裝下也運行此程序。
第三部分可用值為 wait 和 nowait,分別表示運行外部程序後等待結束後再返回和立即返回。
第四部分可用值為 show 和 hide,表示運行外部程序時顯示或隱藏其界面。
三、[language]
1、charset=134
代表所需字符集,134 為簡體中文、136 為繁體中文、0 為英文等。
2、size=9
表示字號。
3、font=細明體
字體名字
4、其它部分可自行用相應語言填寫。
plugin.ini 文件格式說明如下:
[main]
name=vobsub
title=vobsub
content=vobsub
author=CedricOdin
date=2008.07.01
checked=1
reg=reg.reg
reg98=98.reg
reg2000=2000.reg
unreg=unreg.reg
unreg98=un98.reg
unreg2000=un2000.reg
mutex=xxx,aaa
id=Mabinogi Kit
pri=file
system=2000
type=group
expanded=1
[file]
unrar.dll,0=#sysdir#,0
*.txt,0=#setupdir#,2
?.exe,1=c:\
[98]
DVobSub.ax,1=#setupdir#\Codecs,1
VOBSUB.DLL,0=#setupdir#\Codecs,0
[2000]
VSFilter.dll,1=#setupdir#\Codecs
[shortcut]
[shortcut2000]
vobsub 設置|PROGRAMS#setupname#=#sysdir#\rundll32.exetest.ico0"#setupdir#\Codecs\vsfilter.dll",DirectVobSub
[shortcut98]
vobsub 設置|PROGRAMS#setupname#=#sysdir#\rundll32.exetest.ico0"#setupdir#\Codecs\dvobsub.ax",configure
[detect]
rootkey=HKEY_LOCAL_MACHINE
subkey=SOFTWARE\Classes\CLSID\{0180E49C-13BF-46DB-9AFD-9F52292E1C22}
valuename=
valuedata=
[system.ini]
driver32,VIDC.XVID=xvid.dll
[dir]
#setupdir#\codecs=
[dir98]
c:\test=
[dir2000]
#progdir#\test=
[setup_run]
#sysdir#\imetool.exe|/?|#sysdir#=after|always|nowait|show
#sysdir#\notepad.exe=before|always|wait|hide
[uninstall_run]
#sysdir#\imetool.exe|/?|#sysdir#=after|always|nowait|show
#sysdir#\notepad.exe=before|always|wait|hide
一、[main] 小節
0、name=vobsub
表示本組件的標識符,強烈建議使用英文字母,不區分大小寫。
1、title=vobsub
表示本組件的名稱為「vobsub」。
2、content=vobsub
部件說明
3、author=CedricOdin
打包製作者
4、date=2008.07.01
製作日期
5、checked=1
0表示本組件默認不安裝,1表示默認安裝,2表示必須安裝。
6、reg=reg.reg
表示安裝時要導入的註冊表內容,在reg.reg文件中可以使用預定義公用變量,下同。
reg98=98.reg
表示 Win9x 系統下需要導入的註冊表內容。
reg2000=2000.reg
表示 NT/2000/XP 系統下需要導入的註冊表內容。
7、unreg=unreg.reg
卸載時使用的註冊表內容。
unreg98=un98.reg
表示在 Win9x 系統下卸載時需要刪除的註冊表內容。
unreg2000=un2000.reg
表示在 NT/2000/XP 系統下卸載時需要刪除的註冊表內容。
8、mutex=xxx,aaa
表示不能與本組件同時安裝的組件,用,分隔。xxx 和 aaa 代表其它組件中的標識符,即 name=xxx 這一行中等號右邊的內容,如果此行不存在,則以 title=xxx 一行等號右邊的內容代替。
9、run=x:\xxx\xxx.exe/d
表示安裝結束後要運行的程序,使用絕對路徑。在使用 /s 參數安裝時無效。
10、pri=file
表示安裝組件時先複製文件再導入註冊表項目,如無此小節或內容為空,則先導入註冊表再複製文件。
11、id=Mabinogi Kit
表示此安裝程序所安裝軟件的標識符,和 setup.ini 中的 id 含義一樣,便於將來升級時使用。
12、system=2000
表示此組件適用的操作系統,2000 代表 NT/2000/XP/2003 等 NT 內核系統,98 代表 Win9x 內核系統。如果省略此行表示適用於所有系統。
13、type=group
myinstall 支持組件樹狀結構列表,type=group 表示當前目錄為一分類而不是具體的組件目錄,此時只需要寫[main]小節。
14、expanded=1
此參數是與上一參數一同使用的,expanded=1 表示展開此節點下的所有項目。
二、[file] 小節
demo\unrar.dll,0=#sysdir#,0
此節為要複製的文件,unrar.dll,0=#sysdir#表示將當前目錄下的unrar.dll文件複製到windows\system (98)或window(winnt)\system32目錄下,#sysdir#代表公用變量。
等號左邊分為三部分,第一部分表示源文件,可包括當前目錄下的相對路徑,可使用通配符*和?。
第二部分表示目標文件,不包含路徑,本部分可省略(若第一部分使用通配符則必須省略第二部分)。
第三部分為 1 表示該文件需要使用regsvr32.exe註冊,0 則不需要,此部分也可省略。
等號右邊分為三部分,第一部分表示目標文件路徑,可包含公用變量。
第二部分含義如下可取值為 0、1、2(省略則默認為 0):
0 表示安裝前比較源文件和目的文件,只有源文件版本比目的文件新時才會覆蓋(如果版本相同則比較文件創建日期)。
1 表示如果目的文件存在則不覆蓋。
2 表示無論何時均覆蓋目的文件。
第三部分可取值為 0、1(省略則默認為 0):
0 表示需要卸載
1 表示不卸載
[98][2000]
此二節作用與[file]一節基本相同,所不同的是[98]節的內容只在Win9x系統上安裝,[2000]節的內容只在NT/2000/XP上安裝。
三、[shortcut] 小節
vobsub 設置|PROGRAMS|#setupname#=#sysdir#\rundll32.exe|"#setupdir#\Codecs\vsfilter.dll",DirectVobSub
本節用以創建快捷方式。
等號左邊分為五部分,用「|」分隔。
第一部分代表快捷方式名稱。
第二部分代表快捷方式起始位置(桌面、開始目錄之類),用預定義好的變量來表示。
第三部分表示快捷方式在第二部分基礎上的子目錄,可選(#setupname# 只能在此部分使用。
第四部分表示要使用的圖標資源文件,第五部分表示圖標索引號,0 代表資源中第一個圖標。
注意:第四部分和第五部分應同時使用(或者不使用),否則程序判斷會出問題。
等號右邊分為三部分,用「|」分隔。
第一部分表示快捷方式的執行文件,包括路徑。
第二部分為執行路徑。第三部分為執行參數。
若沒有參數,第二部分路徑可以省略;若有參數則必須寫明第二部分即路徑。
[shortcut98][shortcut2000]的作用和[shortcut]類似,只是分別在Win9x和NT/2000/XP下有效。
四、[detect] 小節
rootkey=HKEY_LOCAL_MACHINE
subkey=SOFTWARE\Classes\CLSID\{0180E49C-13BF-46DB-9AFD-9F52292E1C22}
valuename=
valuedata=
file=#setupdir#\test.exe
此節的作用是檢測已經安裝的組件在註冊表中寫入的值,如果找到則該組件顯示為粗體紅色,並自動取消選擇。
rootkey=HKEY_LOCAL_MACHINE
表示根鍵
subkey=SOFTWARE\Classes\CLSID\{0180E49C-13BF-46DB-9AFD-9F52292E1C22}
表示子鍵
valuename=
表示鍵名
valuedata=
表示鍵值
注意:目前暫時只能檢測字符串類型的鍵值。
file=#setupdir#\test.exe
此節檢測已安裝的文件。
五、[system.ini] 小節 (只適用於 Win9x)
為兼容 Win9x,特增加此節內容。表示在 Win9x 的系統配置文件 system.ini 中增加的項目。
driver32,VIDC.XVID=xvid.dll
逗號前面的內容表示小節名稱,逗號後面的內容為在此小節增加的內容,支持公用變量。
六、[dir]小節
[dir]
#setupdir#\codecs=
此小節的作用是創建等號左邊部分的目錄。
[dir98][dir2000]
此兩小節的功能分別是在 Win9x 和 2000/XP 系統下創建目錄。
七、組件安裝、卸載前後運行指定程序。
組件腳本中新增 [setup_run] 和 [uninstall_run] 小節,用以控制組件安裝後和卸載前運行的程序。
[setup_run]
#sysdir#\imetool.exe|/?|#sysdir#=after|always|nowait|show
#sysdir#\notepad.exe=before|always|wait|hide
[uninstall_run]
#sysdir#\imetool.exe|/?|#sysdir#=after|always|nowait|show
#sysdir#\notepad.exe=before|always|wait|hide
此二小節內容與 setup.ini 中相應小節語法相同,這裡不再重複。
公用變量(注意:所有的路徑格式,均無最後的「\」,如:c:\windows,而不是c:\windows\)
第一部分(適用於文件目錄處,也適用於註冊表文件 *.reg 中):
#setupdir# 安裝目標路徑,如:C:\Program File\Mabinogi
#windir# windows所在目錄,如:c:\windows、c:\winnt
#sysdir# windows的system目錄,如:c:\windows\system、c:\winnt\system32、c:\windows\system32
#progdir# Program File 目錄,如:C:\Program File
#currentdir# setup.exe 所在當前目錄
#allusers# 所有用戶的應用程序數據存儲文件夾「根」目錄,如:C:\Documents and Settings\All Users\
#user# 當前用戶的特定的應用程序數據存儲文件夾「根」目錄,如:C:\Documents and Settings\Administrator\
第二部分(適用於快捷方式起始位置處,即shortcut等小節):
DESKTOP 桌面
DESKTOPDIRECTORY 桌面目錄
FONTS 字體目錄
NETHOOD 網絡鄰居
PERSONAL 我的文檔目錄
PROGRAMS 開始功能表程序目錄
SENDTO "發送到"目錄
STARTMENU 開始功能表目錄
STARTUP 開始功能表啟動項目錄
FAVORITES 收藏夾目錄
APPDATA 當前用戶的特定的應用程序數據存儲文件夾,例如:C:\Documents and Settings\admin\Application Data
Quick_Launch 快速啟動欄
COMMON_DESKTOPDIRECTORY 所有用戶桌面目錄
COMMON_FAVORITES 所有用戶收藏夾
COMMON_PROGRAMS 所有用戶開始功能表程序目錄
COMMON_STARTMENU 所有用戶開始功能表目錄
COMMON_STARTUP 所有用戶開始功能表啟動項目錄
ALLUSERS 所有用戶的應用程序數據存儲文件夾「根」目錄
USER 當前用戶的特定的應用程序數據存儲文件夾「根」目錄
第三部分(適用於編寫腳本時遇到文件名或目錄與分隔符等發生衝突的情況,如 [setup_run]、[file] 等小節)。
字符 替換
=
,
|
#
回車
#setupname# 安裝包名稱,如:Mabinogi Kit rev.2454(只適用於快捷方式子目錄處)。
多語言界面部分:
此時需要使用 language.ini 語言包配置文件(setup.ini 中的 [language] 小節內容同時失效),language.ini 內容示例如下:
[0404]
LanguageName=繁體中文
charset=136
size=9
font=Tahoma
name=
readme=readme.rtf
1=安裝
2=上一步(&P)
3=下一步(&N)
4=退出(&X)
...
[0409]
name=
readme=readme.txt
BrandingText=
Languagename=English
size=8
font=Tahoma
charset=0
1=Installing
2=< &Back
3=&Next >
4=E&xit
...
[0404]代表繁體中文,[0409]代表英文,[0804] 代表簡體中文。
使用 language.ini 後,組件腳本文件內容在涉及多語言安裝部分可做如下調整:
1、用 [0404]、[0409] 等小節顯示 [main] 小節的 title、content、author、date、reg、unreg 等內容。
2、用 [file_0404]、[98_0404]、[2000_0404]等小節進行相應語言版本的文件安裝。
3、用 [dir_0404]、[dir98_0404]、[dir2000_0404] 等小節進行相應語言版本的目錄創建。
4、用 [shortcut_0404]、[shortcut98_0404]、[shortcut2000_0404] 等小節創建不同語言版本的快捷方式。
注意:所有的文本文件,如setup.ini、plugin.ini、reg.reg、unreg.reg,都應使用ANSI編碼而不是Unicode,以保證兼容性。reg文件的格式也應是Win9x格式,即第一行為「REGEDIT4」。
製作後再用 winrar 壓縮,壓縮時選擇「建立自我解壓縮檔」(也可再選擇「建立結實壓縮檔」以減少體積),
然後在「進階設定」選擇「自解檔選項」按鈕,在一般設定/安裝程式/解壓縮之後執行那裡填入 setup.exe,「模式」中選擇「解封裝至暫存資料夾」,「覆寫模式」用「覆寫所有檔案」。
winrar 自解檔指令碼命令如下:
Setup=setup.exe
TempMode
Silent=2
Overwrite=1
Title=
