編寫INF檔案進行檔案安裝 上

2021-05-21 20:02:28 字數 3098 閱讀 3094

安裝資訊

(setup information)

檔案是windows

系統支援的一種安裝資訊存放檔案,一般以

inf作為副檔名,因此也叫

inf檔案。安裝資訊

inf檔案與

windows

內建的安裝服務引擎

(api

函式庫)

緊密協同工作,基於其嚴格的編寫語法製作而成的

inf檔案在拷貝、刪除檔案,增、刪登錄檔鍵,更改系統設定等方面都有優秀的表現,完全可以用來實現應用程式檔案安裝的目標,而且**免費,透明度高,安裝程式小,可完全定製。

infwindows

系統本身提供的記事本、寫字板即可進行檔案安裝指令碼的編寫。

inf檔案安裝動作的觸發機制

在檔案目錄中用滑鼠右擊

inf檔案,會顯示不同於其他副檔名檔案的「安裝

」選單。

windows

平台在計算機中完成初始安裝後,就註冊了

inf檔案的「安裝

」動作,此「安裝

」動作關聯命令列程式基本形式為

: rundll setupx.dll,installhinfsection section reboot-mode inf-name

如筆者目前正在使用的

windows 98

系統登錄檔中,

hkey_classes_root/inffile/install/

command

鍵的預設值為(

install

即為安裝):

c:/windows/rundll.exe setupx.dll,installhinfsection defaultinstall 132 %1

其中,rundll

程式以命令列的形式呼叫

windows

rundll.exe

檔名>,<

入口點》,<

呼叫引數

>

setupx.dll

是安裝api(setup api)

函式庫,包含了

installhinfsection

、setupgetinfsections

、setupinstallfrominfsection

、setuppromptfordisk

、setupdicreatedevregkey

等inf

檔案內部語法檢查、節名搜尋、註冊鍵建立等功能函式。

setupx.dll

與其後的入口點用逗號

(,)分開,入口點是大小寫敏感的。

section

是inf

檔案內初始執行節名,首先執行該節內容,預設情況下名稱為

「defaultinstall」

,系統使用者一般不宜對此做任何改動,如被改動,則在後續

inf檔案的

install

節使用相應修改後的名稱。

reboot-mode

是重啟動引數,指示在

inf檔案執行後對系統的設定進行了改變,作業系統是否重新啟動。該引數一般設為

132或

4,即由安裝程式決定是否必須重啟動,因為某些設定的改變必須在重啟動後才能生效。

inf-name

是inf

檔案的名稱,

「%1」

即為所選中檔案本身。

inf檔案內部節(section)的定義

infwindows

內建的安裝函式遵循既定的語法從

inf檔案內獲取安裝資訊。

inf檔案和初始化

(或稱私有化,

private file)

檔案相似,採用節

(section)

和入口(entries)

的索引機制,節和入口定義了所有操作型別及操作物件。乙個

inf檔案由不同型別的節組成,每類節都有其特殊的目的和不同的實現語法,每節的內容均服務於該節的目的。除了基本的識別

inf格式的

「version」

節外,inf

檔案中節的數目和型別沒有限制,主要取決於具體安裝任務。乙個基本的

inf檔案,一般包含如下幾節:

節的名稱

節的作用

[version]

inf檔案頭,提供有效

inf檔案的版本資訊

[defaultinstall]

安裝包含所關聯動作(檔案拷貝或刪除,登錄檔鍵值更新、子鍵增刪等)在

inf檔案內的節名指標,預設情況下首先執行該節內容

[otherinstall]

與[defaultinstall]

節遵循相同的語法,但必須顯式的呼叫,常被用來定義反安裝動作

[destinationdirs]

指定羅列於乙個節內將被拷貝、刪除或重新命名的檔案在硬碟上的位置

[filecopy/delete/renamesection(s)]

羅列將被拷貝、刪除或重新命名的檔案

[registryupdatesection(s)]

指定對登錄檔鍵值更新、子鍵增刪等動作

[inifileupdatesection(s)]

指定對ini

檔案的更新、快捷方式可通過該節進行建立

[sourcedisksnames]

羅列檔案所在盤盤名、盤捲標、盤序列號

[sourcedisksfiles]

羅列安裝時使用的原始檔及其所在盤

[strings]

羅列本地化字串(或稱巨集字串)

表中黑體節名是保留關鍵字,名稱固定,大小寫不敏感,斜體節名名稱任意,由

inf檔案編寫者確定。每節的標題字元均用括號

()括起。

限於篇幅本文只對黑體節名做進一步的解釋。

如何安裝INF檔案

方法1.執行rundll32 advpack.dll,launchinfsection youinf inf,defaultinstall 方法2.修復右鍵安裝 操作步驟如下 開啟我的電腦,工具 選單中的 資料夾選項 切換至 檔案型別 選項卡,在其中找到inf檔案,點高階按鈕,雙擊 安裝 如沒有 安...

ubuntu安裝samba進行檔案共享

在win 7下面安裝了virtualbox虛擬機器,虛擬機器裡安裝了ubuntu,主機win7和虛擬機器ubuntu要進行檔案共享,是個難題,不過samba可以解決這一難題。samba可以讓檔案在linux和win下面共享。1,安裝samba ubuntu可以直接在軟體中心裡安裝,直接搜尋samba...

python with as 進行檔案讀取

1.用with.as.來做檔案內容的讀取 在內容不多的情況下,如果檔案巨大,還是一行一行讀取吧 filename os.path.join self.data path,annotations index txt with open filename as f lines x.strip for x...