制作inf引导文件
最简单的文件格式
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
install=install
[install]
run=msiexec.exe /i """%EXTRACT_DIR%\SetupActiveX.msi""" /qb
================================================================================================
复杂的
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
MyControlInstaller.msi=MyControlInstaller.msi
setup.exe=setup.exe
[MyControlInstaller.msi]
file-win32-x86=thiscab
clsid={C90E96C1-8534-4243-9530-960D9AF982CB}
hook=hook1
[setup.exe]
file-win32-x86=thiscab
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\MyControlInstaller.msi" /qn
這個檔案最重要的有幾個地方:
1. [version]區段是給IE來識別,只要IE發現這個區段,就會自動解析這個INF檔案。其中的AdvancedINF=2.0是表示要IE對每個部份依序解析。
2. [Add.Code]區段會提示要將CAB中的哪些檔案加入暫存區,如果封裝中有其他檔案要加入的話,就必須要在這個區段中指明,但我們建議直接將要安裝的檔案全部加入安裝專案即可,讓這個區段只需登記安裝程式所要的檔案即可。
3. [MyControlInstaller.msi]以及[setup.exe]是針對檔案所設定,必須要有一個安裝的執行檔會對應到網頁中的GUID,以上例而言,MyControlInstaller.msi會對應到元件的GUID,IE如果在檔案的設定中發現元件的GUID時,就會讀取這個檔案的其他設定,像是要啟動的安裝程式,或是登錄此檔案(RegisterServer=yes)。
4. [Setup Hook]是指示IE要由什麼指令來啟動安裝程式。本例是[hook1]自訂區段。
5. [hook1]是自訂區段,它會指示IE執行run所設定的指令。
(2)制作Cab包
cabsdk.exe 工具的下载地址:http://support.microsoft.com/kb/310618
将打包好的exe、msi文件,放到Bin文件夹中。
然后考试CMD命令:
cabarc n SetupActiveX.cab SetupActiveX.inf setup.exe "SetupActiveX.msi"