Inf文件指導(dǎo)說(shuō)明書(shū)_第1頁(yè)
Inf文件指導(dǎo)說(shuō)明書(shū)_第2頁(yè)
Inf文件指導(dǎo)說(shuō)明書(shū)_第3頁(yè)
Inf文件指導(dǎo)說(shuō)明書(shū)_第4頁(yè)
Inf文件指導(dǎo)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Inf文件INF文件全稱Information File文件,是Winodws操作系統(tǒng)下用來(lái)描述設(shè)備或文件等數(shù)據(jù)信息的文件。INF文件是由標(biāo)準(zhǔn)的ASCII碼組成,您可以用任何一款文字編輯器查看修改其中的內(nèi)容。一般我們總是認(rèn)為INF文件是系統(tǒng)設(shè)備的驅(qū)動(dòng)程序,其實(shí)這是錯(cuò)誤的認(rèn)識(shí),Windows之所以在安裝某些硬件的驅(qū)動(dòng)時(shí)提示需要INF文件是因?yàn)镮NF文件為該設(shè)備提供了一個(gè)全面描述硬件參數(shù)和相應(yīng)驅(qū)動(dòng)文件(DLL文件)的信息。就好比我們看著說(shuō)明書(shū)安裝電腦硬件一樣,我們就是Windows系統(tǒng),說(shuō)明書(shū)就是INF文件。INF文件功能非常強(qiáng)大,幾乎能完成日常操作的所有功能。您可以把它看成是Windows系統(tǒng)底

2、下的超強(qiáng)批初理。要熟練掌握和理解甚至是編寫INF文件需要對(duì)其內(nèi)部結(jié)構(gòu)有相當(dāng)?shù)恼J(rèn)識(shí)。下面就讓我們來(lái)深入到INF文件中的內(nèi)部一窺其真面貌吧!INF文件的組成有段(Sections),鍵(Key)和值(value)(圖示一)三部分。關(guān)鍵節(jié)有:Version版本描述信息,主要用于版本控制。Strings字符串信息,用于常量定義。DestinationDirs定義系統(tǒng)路徑信息。SourceDisksNames指明源盤信息。SourceDisksNames指明源盤文件名。DefaultInstall開(kāi)始執(zhí)行安裝。其它的節(jié)可以自定義,下面用一實(shí)例來(lái)具體講解。 1Version節(jié) 每一個(gè)INF文件都包含一個(gè)這

3、樣的節(jié),該節(jié)中的條目主要是描述此INF文件支持的設(shè)備類型和適用的操作系統(tǒng)。在該節(jié)中如果出現(xiàn)“signature="$CHICAGO$"”這樣的條目則表示該INF文件適用于Windows 98之后的所有操作系統(tǒng),如果包含“signature="$Windows NT$"”這樣的條目則表示該INF文件適用于Windows 2000/XP/2003操作系統(tǒng),而且兩者必具其一。另外,該節(jié)中“CLASS”條目很重要,它表明了設(shè)備的類型,常見(jiàn)的類型有:Display(顯示設(shè)備,如顯卡)、Media(多媒體設(shè)備,如聲卡)、Net(網(wǎng)絡(luò)設(shè)備,通常是網(wǎng)卡)、Modem(調(diào)

4、制解調(diào)器)、Printer(打印設(shè)備)、Image(圖像捕獲設(shè)備,如攝像頭)。 2Manufacturer節(jié) 該節(jié)中的條目主要是描述INF文件可以識(shí)別的所有硬件設(shè)備,其中包含有設(shè)備的生產(chǎn)廠家,以便設(shè)備的正確安裝。如“%ATi%=ATi”指明設(shè)備的生產(chǎn)商為“ATi”,這個(gè)大家都不會(huì)陌生吧,是顯卡的生產(chǎn)商。 3SourceDisksNames節(jié) 該節(jié)主要指明安裝文件所在的介質(zhì)。如:“1="ATi Drivers Release CD"”表明所有驅(qū)動(dòng)程序都在零售版的CD盤上。 4SourceDiskFiles節(jié) 驅(qū)動(dòng)程序文件列表及被安裝的位置,該節(jié)必須結(jié)合SourceDisksN

5、ames節(jié)才能知道具體的位置。如“atinbtxx.sys=1”,則你必須到DestinationDirs節(jié)去查看“1”具體代表那個(gè)位置。 5DestinationDirs節(jié) INF文件會(huì)指示安裝程序在安裝的過(guò)程中,將一些文件復(fù)制到硬盤上,或者將硬盤上的一些文件刪除、重命名等。該節(jié)即指定了為實(shí)現(xiàn)上述目的的文件所在的目的路徑。 6DefaultInstall節(jié)和Install節(jié) 在這一節(jié)中描述了設(shè)備驅(qū)動(dòng)程序與硬件設(shè)備的實(shí)際屬性。默認(rèn)情況下,首先執(zhí)行DefaultInstall節(jié),該節(jié)指定了要復(fù)制或刪除的文件,注冊(cè)表的更新,INF文件的更新等等信息,同時(shí)又包含指向其他節(jié)的指針。 7String節(jié)

6、這一節(jié)中定義了字符串變量,當(dāng)某些字符串頻繁地出現(xiàn)在INF文件中,為簡(jiǎn)化輸入,可以在該節(jié)中定義一個(gè)字符串變量,代表該字符串出現(xiàn)在INF文件中。VersionSignature=$Chicago$Provider=%Author%StringsProduct="添加文件關(guān)聯(lián)演示"Version="1.0"Author="薛飛"Copyright="Copyright?2002 by Rainsoft"CustomFile="inf" ;修改您需要的文件名后綴Program="NOTEPAD

7、.EXE"  修改您需要關(guān)聯(lián)的應(yīng)用程序名Add.RegHKCR,"."%CustomFile%,"",FLG_ADDREG_TYPE_SZ ,%CustomFile%FileHKCR,%CustomFile%File,"",FLG_ADDREG_TYPE_SZ,安裝信息HKCR,%CustomFile%"Fileshell","",FLG_ADDREG_TYPE_SZ,openHKCR,%CustomFile%"Fileshellopencommand&q

8、uot;,"",FLG_ADDREG_TYPE_SZ,%program% %1DefaultInstallAddReg=Add.Reg在Version節(jié)中"Signature"項(xiàng)定義了該INF文件需要運(yùn)行在何種操作系統(tǒng)版本中。有$Windows NT$, $Chicago$, or $Windows 95$三個(gè)值供選擇,一般選擇$Chicago$即可。項(xiàng)Provider中定義了該文件的創(chuàng)作來(lái)源,%Author%指引用Author項(xiàng)的值。您也可自定其它項(xiàng)來(lái)描述該INF文件的版本信息。該INF文件的作用是關(guān)聯(lián)文件,所以主要是對(duì)注冊(cè)表的操作,我們來(lái)看Add.R

9、eg節(jié),共四條語(yǔ)句,格式都是一樣。HKCR表示根HKEY_CLASSES_ROOT,第二個(gè)參數(shù)是子鍵的路徑名,第三個(gè)參數(shù)是表明值的類型,最后是值(具體見(jiàn)附表)。以上都是對(duì)操作的定義與過(guò)程,在節(jié)DefaultInstall中是開(kāi)始執(zhí)行要安裝的流程,AddReg表明是對(duì)注冊(cè)表進(jìn)行操作,操作對(duì)象是Add.Reg節(jié)中的定義。如果您把AddReg換成DelReg則是刪除注冊(cè)表中的鍵值。當(dāng)鼠標(biāo)單擊該INF文件在彈出的菜單中選擇“安裝”就開(kāi)始執(zhí)行您所定義的操作。該示例在系統(tǒng)的INF文件右鍵菜單中增加了查看編輯功能并設(shè)置了默認(rèn)動(dòng)作,因?yàn)樵诎惭b了不了解的INF文件有可能對(duì)系統(tǒng)產(chǎn)生不良的影響,這樣雙擊文件就可打開(kāi)

10、編輯該文件了。在看看INF文件在文件操作方面的能力吧。請(qǐng)看下面的一個(gè)例子。VersionSignature=$Chicago$Provider=%Author%StringsProduct="文件復(fù)制和安裝演示"Version="1.0"Author="薛飛"Copyright="Copyright?2002 for Rainstorey"FileListProcessList.exe ;此文件已在當(dāng)前目錄下,下同。FileList1Wordpad.exeDestinationDirsFileList=11 ;安裝

11、到Windows的系統(tǒng)目錄FileList1=10 ;安裝到Windows目錄DefaultInstallCopyfiles=FileList,FileList1相同的節(jié)的作用與上一例類似,請(qǐng)注意新出現(xiàn)的節(jié)FileList,這是我自定義的節(jié)名,它表示了一個(gè)文件組,F(xiàn)ileList1也類似。在節(jié)DestinationDirs中需定義每個(gè)文件組復(fù)制到的目錄(各個(gè)常量的意義見(jiàn)附表)。Copyfiles指明了需要進(jìn)行復(fù)制的文件組。INF文件的操作還包括服務(wù)(NT系統(tǒng))程序的安裝和卸載,INI文件的轉(zhuǎn)換等。由于這些操作都比較的復(fù)雜和繁瑣,且有一定的危險(xiǎn)性故下次有機(jī)會(huì)再向大家進(jìn)行深入探討。最后我們來(lái)看一下

12、INF文件的執(zhí)行機(jī)制,這時(shí)你也許要問(wèn)不就是簡(jiǎn)單的執(zhí)行一下“安裝”嗎?知其然不知其所以然知識(shí)水平是不會(huì)提高的。在“文件夾選項(xiàng)”中的“文件類型”找到INF文件的“安裝”命令看到一串命令?!皉undll32.exe setupapi,InstallHinfSection DefaultInst_all 132 %1”它表示了運(yùn)行Dll文件setupapi.dll中的命令I(lǐng)nstallHinfSection并傳遞給它起始節(jié)的名字 DefaultInstall??梢?jiàn)起始節(jié)是可以自定義的。INF文件的執(zhí)行也可用在各種支持API調(diào)用的編程工具中。注冊(cè)表操作的常量定義:-常量   

13、;       根值 HKCR HKEY_CLASSES_ROOT.HKCU HKEY_CURRENT_USER.HKLM HKEY_LOCAL_MACHINE.HKU HKEY_USERS.- FLG_ADDREG_APPEND            在多字符串后添加字符FLG_ADDREG_TYPE_SZ        &#

14、160;   字符類型FLG_ADDREG_TYPE_MULTI_SZ         字符串類型FLG_ADDREG_TYPE_EXPAND_SZ         擴(kuò)展字符串類型FLG_ADDREG_TYPE_BINARY          二進(jìn)制值FLG_ADDREG_TYPE_DWORD

15、60;         DWord值FLG_ADDREG_TYPE_NONE           NULL值-DestinationDirs節(jié)中所定義的常量路徑-01 源目錄(后跟路徑)10 Windows目錄11 Windows系統(tǒng)目錄12 驅(qū)動(dòng)目錄17 INF文件目錄18 幫助文件目錄20 字體目錄21 根目錄24 應(yīng)用程序目錄25 共享目錄30 當(dāng)前根目錄50 System目錄51 Spoo

16、l 目錄52 Spool 驅(qū)動(dòng)目錄53 用戶配置目錄-DefaultInstall節(jié)中定義的操作-LogConfig                Log日志文件配置Copyfiles                復(fù)制文件Renfiles   &#

17、160;             文件改名Delfiles                 刪除文件UpdateInis               更新InisUpdateIni

18、Fields          更新Ini字段AddReg                   添加注冊(cè)項(xiàng)DelReg                 

19、;  刪除注冊(cè)項(xiàng)Ini2Reg                  Ini文件轉(zhuǎn)換為Reg文件-一個(gè)普遍的INF文件安裝可以預(yù)見(jiàn)的是,每次都有同樣的結(jié)果。安裝的結(jié)果不依賴于系統(tǒng)的運(yùn)行時(shí)行為。例如,引用無(wú)效co-installer普遍INF文件因?yàn)榇a在一個(gè)額外的DLL不能離線系統(tǒng)上執(zhí)行。因此,驅(qū)動(dòng)程序包和普遍的INF文件可以提前配置和添加到離線系統(tǒng)。您可以使用InfVerif工具來(lái)測(cè)試如果你的驅(qū)動(dòng)的INF文件

20、是通用的。大部分人都會(huì)安裝驅(qū)動(dòng)程序,但不是每個(gè)會(huì)安裝驅(qū)動(dòng)的人都可以看的懂inf文件格式,甚至很多寫過(guò)一點(diǎn)驅(qū)動(dòng)的人都不是很明白,結(jié)合網(wǎng)上看到的關(guān)于inf文件的介紹和WDM書(shū)籍的介紹,寫一些自己的理解。INF是DeviceInformation File的縮寫,是微軟公司為硬件廠商發(fā)布硬件驅(qū)動(dòng)開(kāi)發(fā)的一種文件格式,INF文件包含硬件信息和控制腳本以控制硬件驅(qū)動(dòng)的安裝。copyright注釋在設(shè)備級(jí)的驅(qū)動(dòng)中應(yīng)該包含一個(gè)“copyright”的注釋(以分號(hào)開(kāi)頭的行),以滿足CHKINF程序的檢查,操作系統(tǒng)可以接受沒(méi)有這個(gè)注釋的INF文件,但Microsoft不會(huì)認(rèn)證沒(méi)有這項(xiàng)內(nèi)容的驅(qū)動(dòng)程序。(是不是說(shuō)沒(méi)有

21、這項(xiàng)內(nèi)容,微軟數(shù)字簽名是不成功的呢?)INF文件結(jié)構(gòu)INF文件包含一些由方括號(hào)括起來(lái)的段(或稱節(jié)),有些段是必須的,而其它是驅(qū)動(dòng)程序特定的,每個(gè)部分是一些安裝動(dòng)作或者連接或者列舉其它部 分。文件中的順序是不重要的,但每個(gè)段名長(zhǎng)度被限制在28個(gè)字符內(nèi),大小寫是不敏感的,這樣做是為了與win98兼容,段名可以包含下劃線和圓點(diǎn)字符。文件內(nèi)容的一般格式如下:entry = value, value.entry是指令,關(guān)鍵詞或者文件名。value是被entry應(yīng)用的屬性。entry和value都可以指定為用百分號(hào)(%)代替的表示符,標(biāo)示符必須在Strings段中給出定義。把一個(gè)大的INF文件看成是一個(gè)樹(shù)

22、結(jié)構(gòu)的線形描述可以更容易理解INF文件。一個(gè)段就是樹(shù)上的一個(gè)節(jié)點(diǎn),而每個(gè)指令就是指向另一個(gè)段的指針。  Version 一個(gè)有效的inf文件從一個(gè)命名為Version的段開(kāi)始,它想一個(gè)inf文件的頭和標(biāo)示,但并不一定要在文件的最頂端。EntryValueSignature“$Windws NT$”,”$Windows 95$”和”$Chicago$”中的一個(gè)。Class驅(qū)動(dòng)程序類名,下表列出ClassGUID一個(gè)類的獨(dú)一無(wú)二的GUID。其格式為:nnnnnnnn-nnnn-nnnn-nnnnnnnnnnnn注:n代表一個(gè)16進(jìn)制數(shù)ProviderInf文件的供應(yīng)商

23、,一般在Strings指定CatalogFile一般指定數(shù)字簽名文件DriverVermm/dd/yyyy,x,y,v,z,必須的條目包含版本信息。(可選)LayoutFile僅由操作系統(tǒng)內(nèi)部提供的INF文件使用  INF類名描述1394IEEE 1394總線控制器(不是外設(shè))Battery電池設(shè)備CDROMCD-ROM驅(qū)動(dòng)器,包括SCSI和IDEDiskDrive硬盤驅(qū)動(dòng)器Display顯示適配器FDC軟盤控制器FloppyDisk軟盤驅(qū)動(dòng)器HDC硬盤控制器HIDClass人機(jī)接口設(shè)備Image靜態(tài)圖象捕捉設(shè)備,包括數(shù)碼相機(jī)和掃描儀InfraredSerial-IR和Fa

24、st-IR紅外端口的NDIS miniport驅(qū)動(dòng)程序Keyboard鍵盤MediumChangerSCSI媒體交換器設(shè)備Media多媒體設(shè)備,包括音頻、DVD、游戲桿、全動(dòng)態(tài)視頻捕捉設(shè)備Modem調(diào)制解調(diào)器Monitor監(jiān)視器Mouse鼠標(biāo)和其它指點(diǎn)設(shè)備MTD內(nèi)存設(shè)備的內(nèi)存技術(shù)驅(qū)動(dòng)程序Multifunction多功能設(shè)備MultiportSerial智能多端口串行卡Net網(wǎng)絡(luò)適配器NetClient網(wǎng)絡(luò)文件系統(tǒng)和打印提供者(客戶方)NetService網(wǎng)絡(luò)文件系統(tǒng)的服務(wù)器方支持NetTrans網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序PCMCIAPCMCIA和CardBus主機(jī)控制器(不是外設(shè))Ports串行和并行口

25、Printer打印機(jī)SCSIAdapterSCSI和RAID控制器,主機(jī)總線適配器miniports,和磁盤陣列控制器SmartCardReader智能卡讀寫器System系統(tǒng)設(shè)備TapeDrive磁帶驅(qū)動(dòng)器USBUSB主控制器和hub(不是外設(shè))Volume邏輯存儲(chǔ)卷驅(qū)動(dòng)程序 Class和ClassGuid項(xiàng):指明驅(qū)動(dòng)程序所屬的設(shè)備類別及其GUID,其取值情況見(jiàn)下表。常用設(shè)備類別及其GUIDClassClassGuid說(shuō)明13946BDD1FC1-810F-11D0-BEC7-08002BE2092F1394主控制器CDROM4D36E965-E325-11CE-BFC1-0800

26、2BE10318CD-ROM驅(qū)動(dòng)器DiskDrive4D36E967-E325-11CE-BFC1-08002BE10318磁盤驅(qū)動(dòng)器Display4D36E968-E325-11CE-BFC1-08002BE10318顯示適配器FDC4D36E969-E325-11CE-BFC1-08002BE10318軟盤驅(qū)動(dòng)器HDC4D36E96A-E325-11CE-BFC1-08002BE10318硬盤控制器HIDClass745a17a0-74d3-11d0-b6fe-00a0c90f57da人機(jī)接口設(shè)備Keyboard4D36E96B-E325-11CE-BFC1-08002BE10318鍵盤M

27、odem4d36e96c-e325-11ce-bfc1-08002be10318調(diào)制解調(diào)器Monitor4d36e96e-e325-11ce-bfc1-08002be10318監(jiān)視器Mouse4d36e96f-e325-11ce-bfc1-08002be10318鼠標(biāo)Net4d36e972-e325-11ce-bfc1-08002be10318網(wǎng)絡(luò)適配器Ports4d36e978-e325-11ce-bfc1-08002be10318端口(COM&LPT)Printer4d36e979-e325-11ce-bfc1-08002be10318打印機(jī)System4d36e97d-e325-

28、11ce-bfc1-08002be10318系統(tǒng)設(shè)備TapeDrive6D807884-7D21-11CF-801C-08002BE10318磁帶驅(qū)動(dòng)器USB36FC9E60-C465-11CF-8056-444553540000USB Manufacturers必須段。列出硬件描述的所有公司。條目形式:manufacturer=model可以包含多個(gè)條目。安裝多個(gè)驅(qū)動(dòng),甚至是不同廠家的驅(qū)動(dòng)。model是硬件型號(hào)段。一般指向另一個(gè)繼續(xù)安裝的段。例如:manufacturer"Walter Oney Software"=DeviceList"Finest

29、Organization On Earth Yet"=FOOEYDeviceList.FOOEY.在model后面可以跟NTx86, NTia64, NTamd64等,用逗號(hào)隔開(kāi)。是為了區(qū)分不同平臺(tái)的安裝。(不要也可以?)這樣做也可以在model根據(jù)平臺(tái)的不同,提供不同的Desciption或InstallSectionName,或是DeviceID。 Manufacturer節(jié)指明供應(yīng)商及其對(duì)應(yīng)Models接的名稱,其各項(xiàng)的格式如下:%strkey%=models-section-name    其中,“strkey”代表設(shè)備制造的名字,其字符串值在S

30、tring節(jié)中定義;“models-section-name”指出Models節(jié)的名稱model每個(gè)model段描述了一個(gè)或多個(gè)設(shè)備。條目形式如下:device-description=install-section-name,hw-id,compatible-id.device-description描述了設(shè)備列表,install-section-name指向的是DDInstall的部分DeviceList"AMCC S5933 Development Board(DMA)"=DriverInstall,PCIVEN_10E8&DEV_4750 

31、0;DDInstall它的名字是model段指定的install-section-name,可能再加上.NTx86或.NTia64或是.NTamd64。用后綴來(lái)控制平臺(tái)的最佳安裝條目。例如,假設(shè)你有三個(gè)install段,第一個(gè)無(wú)后綴,后兩個(gè)分別帶有.NT后綴和.NTx86后綴。如果你安裝到x86平臺(tái)的Windows 2000系統(tǒng)中,安裝程序會(huì)使用.NTx86段。如果安裝到在非Intel平臺(tái)上運(yùn)行的Windows 2000中,它將使用.NT段。如果windows支持ARM等處理器,可能要用到.NT段了。 EntryValueDriverVermm/dd/yyyy,x,y,v,z必須的條

32、目包含可選擇的版本號(hào)碼CopyFiles另一個(gè)指定需要復(fù)制的文件列表的部分或者一個(gè)單獨(dú)的有”為前綴的文件名AddReg必須的另一個(gè)包含需要的注冊(cè)表信息的部分Include指向其它的INF文件名指針列表NeedsInclude條目的子集列出了它的INF文件中需要的部分DelFiles指定另一個(gè)需要?jiǎng)h除的文件列表的部分(一般是升級(jí)的目的)RenFiles指定另一個(gè)需要重命名的文件列表的部分(一般是存儲(chǔ)安裝之前的狀態(tài))DelReg指定另一個(gè)需要?jiǎng)h除的系統(tǒng)注冊(cè)表信息的部分ProfileItems指定另一個(gè)需要更改系統(tǒng)開(kāi)始菜單的部分 AddReg條目在語(yǔ)法上是必須的CopyFiles條目對(duì)于D

33、DInstall部分是重要的。 CopyFiles語(yǔ)法如下:CopyFiles=file-list-section,file-list-section.或者CopyFiles=filename。前者是更普通的版本它允許一個(gè)指向另一個(gè)包含一個(gè)安裝文件列表的部分的指針然而對(duì)于簡(jiǎn)單的驅(qū)動(dòng)程序的安裝可以直接的使用文件名。 CopyFiles即上面的file-list-section。CopyFiles條目形式如下:destination-filename,source-filename,temp-filename,flagdestination-filename是需要復(fù)制的文件名如

34、果與源文件名不同source-filename必須被指定temp-filename在WIN98中是為新文件指定一個(gè)中間的文件名直到系統(tǒng)重新激活對(duì)于WIN2000來(lái)說(shuō)它是無(wú)用的。flag值指定新的目標(biāo)文件的部署這些值可以O(shè)R起來(lái)使它有多個(gè)性質(zhì)應(yīng)該確認(rèn)沒(méi)有互斥的項(xiàng)目因?yàn)镃opyFiles條目的語(yǔ)法不包含指定源文件的磁盤或者路徑選項(xiàng)所以必須使用其它的INF文件的部分 SourceDisksNames和SourceDisksFilesCopyFiles是復(fù)制的源文件名復(fù)制的目標(biāo)則在 DestinationDirs部分。 二進(jìn)制值符號(hào)名描述 0x0400COPYFLG_REPLACE

35、ONLY如果已經(jīng)有目標(biāo)文件則復(fù)制 0x0800COPYFLG_NODECOMP不解壓直接復(fù)制 0x0008COPYFLG_FORCE_FILE_IN_USE復(fù)制源文件為臨時(shí)的名字強(qiáng)制重新激活重命名臨時(shí)文件   0x0010COPYFLG_NO_OVERWRITE不替換已存在的文件 0x1000COPYFLG_REPLACE_BOOT_FILE文件是系統(tǒng)加載的一部分強(qiáng)制重新激活 0x2000COPYFLG_NOPRUNE強(qiáng)制復(fù)制甚至安裝者認(rèn)為不需要 0x0020COPYFLG_NO_VERSION_DIALOG不重寫

36、更新的文件 0x0004COPYFLG_NOVERSIONCHECK總是重寫目標(biāo)文件 0x0040COPYFLG_OVERWRITE_OLDER_ONLY重寫老的目標(biāo)文件  0x0001COPYFLG_WARN_IF_SKIP如果用戶跳過(guò)文件則警告 0x0002COPYFLG_NOSKIP不允許用戶跳過(guò)文件   AddRegAddReg段在DDInstall中指定。這個(gè)部分的目的是提供在系統(tǒng)注冊(cè)表中添加或者修改條目形式是reg-root,subkey,value-name,flags,value reg-

37、root是注冊(cè)表根的縮寫子鍵描述根鍵下的鍵名使用反斜線字符()分開(kāi)子鍵例如SoftwareW2KDriverBookDriverSetting是有效的HKCU或者HKLM根鍵的子鍵 縮寫意義HKCRHKEY_CLASSES_ROOTHKCUHKEY_CURRENT_USERHKLMHKEY_LOCAL_MACHINEHKUHKEY_USERSHKR設(shè)備安裝的硬件子鍵 value-name指定被添加或者修改注冊(cè)表值每個(gè)系統(tǒng)注冊(cè)表鍵包含零個(gè)或者多個(gè)不同數(shù)據(jù)類型的值注冊(cè)表編輯器在右邊的窗格列出了子鍵的值值的名字和值的數(shù)據(jù)也一起顯示出來(lái)左邊的窗格僅僅顯示子鍵flags指定數(shù)據(jù)的類型

38、flags類型如下:二進(jìn)制值符號(hào)意義0x00000FLG_ADDREG_TYPE_SZ以零為結(jié)束的字符串0x00001FLG_ADDREG_BINVALUETYPE二進(jìn)制數(shù)據(jù)0x00002FLG_ADDREG_NOCLOBBER不替換現(xiàn)有的值0x00004FLG_ADDREG_DELVALUE刪除子鍵或者值的名字0x00010FLG_ADDREG_KEYONLY創(chuàng)建子鍵不顧值0x00020FLG_ADDREG_OVERWRITEONLY如果值存在替換它否則什幺也不作0x10000FLG_ADDREG_TYPE_MULTI_SZREG_MULTI_SZ值(數(shù)組)0x00008FLG_ADDREG

39、_APPEND附加到存在的REG_MULTI_SZ數(shù)組0x20000FLG_ADDREG_TYPE_EXPAND_SZREG_EXPAND_SZ數(shù)據(jù)0x10001FLG_ADDREG_TYPE_DWORDDWORD值0x20001FLG_ADDREG_TYPE_NONEREG_NONE值 SourceDisksNames如果INF文件包含的驅(qū)動(dòng)程序文件分布在多個(gè)磁盤上INF文件就必須包含Source-DisksNames部分這個(gè)部分包含文件分布的每個(gè)磁盤的人口.diskid=disk-description,tagfile,unused,pathdiskid是唯一的分配設(shè)置中的名字通

40、常磁盤號(hào)從1開(kāi)始disk-description是一個(gè)提示用戶合適的磁盤的字符串。tagfile值有雙重的作用確定在安裝過(guò)程中用戶提供正確的磁盤tagfile值在安裝過(guò)程繼續(xù)進(jìn)行之前被檢驗(yàn)如果tagfile文件不存在用戶被重新提示插入正確的磁盤如果agfile值包含.CAB的擴(kuò)展名表示磁盤上的驅(qū)動(dòng)程序文件是壓縮文件。path值是一個(gè)以root-relative為磁盤根目錄的驅(qū)動(dòng)程序文件的路徑像tagfile值一樣是可選擇的 SourceDisksFilesINF文件必須包含一個(gè)SourceDisksFiles部分這個(gè)部分列出了在安裝驅(qū)動(dòng)程序過(guò)程中使用的文件名每個(gè)文件都有相應(yīng)的條目。f

41、ilename=diskid,subdir,sizediskid值是一個(gè)SourceDisksNames部分指定的可以找到文件名的磁盤可選的subdir值指定文件的路徑可選的size值指定解壓縮文件的字節(jié)大小安裝過(guò)程使用這個(gè)數(shù)據(jù)在嘗試復(fù)制文件之前決定目標(biāo)系統(tǒng)是否適合安裝。 DestinationDirs這是個(gè)必須的提供目標(biāo)路徑的部分。file-list-section=dirid,subdir 或者DefaultDestDir=dirid,subdir 其中,“DefaultDestDir”是一個(gè)項(xiàng)名稱,代表文件復(fù)制、刪除、重命名操作的缺色很難干目標(biāo)目錄;“fil

42、e-list-section”指 出CopyFiles、DelFiles、RenFiles指令所引用的節(jié);“dirid”指出目標(biāo)目錄值,見(jiàn)下表;“subdir”指出dirid目錄 下的子目錄。file-list-section是一個(gè)被CopyFiles的指示器喚起的部分它指定所有的被指示器復(fù)制的文件安裝到指定的路徑對(duì)于 DefaultDestDir用于CopyFiles中所有的指示器通常與file-list-section聯(lián)合使用。以下是 DestinationDirsIDdirid指出目標(biāo)目錄值定義:值意義12%windir%system32drivers 對(duì)于 Wind

43、ows 2000%windir%systemIoSubsys 對(duì)于 Windows 9810%windir%11%windir%system32 對(duì)于 Windows 2000%windir%system對(duì)于 Windows 9830根驅(qū)動(dòng)器的根路徑54Windows 2000的根路徑1這個(gè)INF文件的路徑17INF文件的路徑20Fonts的路徑51假脫機(jī)的路徑52假脫機(jī)的驅(qū)動(dòng)程序路徑55打印機(jī)處理機(jī)路徑23Color (ICM)-1絕對(duì)路徑21Viewers路徑53User Profile路徑24應(yīng)用軟件路徑25共享路徑18幫助路徑16406All UsersStart Menu16407All UsersStart MenuPrograms16408All UsersStart MenuProgramsStartup16409All UsersDesktop16415All UsersFavorites16419All UsersApplication Data16422Program Files16427Program FilesCommon16429All UsersTemplates16430All UsersDocuments DDIns

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論