版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、INF文件格式詳解INF 文件必須包含以下規(guī)則: 節(jié)( Sections )開始于由中括號 () 擴起來的節(jié)名 必須包含版本信息節(jié)以表明自己屬于 win95 還是 winnt4 格式。 值 (Value) 由 %strkey% 替代的表達式字符串表達組成, strkey 必須在 strings 節(jié)中定義。如果出現(xiàn) % ,則用 % 替代。 Setup 程序使用以下各節(jié) : Version 必須包含在 INF 文件中,表明 inf 文件格式 Version Signature="signature-name" Class=class-name ClassGUID=GUID Pr
2、ovider=INF-creator LayoutFile=filename.inf,filename.inf. Signature-name 參數(shù)可以取值 $Windows NT$, $Chicago$, or $Windows 95$ (引號括起來) . 如果不是以上這些字符串,則不被認可為 inf 文件。 Class-name 此參數(shù)用于安裝設備驅動。詳細信息見 DDK Programmer's Guide. GUID 此參數(shù)用于安裝設備驅動。詳細信息見 DDK Programmer's Guide. INF-creator 標示 INF 的創(chuàng)建者 . 典型的情況,此值為
3、 inf 文件的創(chuàng)建者所在組織 filename.inf INF 文件必須包含 SourceDisksFiles 和 SourceDisksNames 節(jié)。這些文件的描述文件通常命名為 LAYOUT.INF. 如果文件名不是特別指定, SourceDisksNames 和 SourceDisksFiles 必須出現(xiàn)在當前 inf 文件中 以下為典型的例子: Version Signature="$Windows NT$" Class=Mouse ClassGUID=4D36E96F-E325-11CE-BFC1-08002BE10318 Provider=%Provider
4、% LayoutFile=layout.inf Strings Provider="Corporation X" Install 此節(jié)指定包含的安裝指令節(jié),每一個條目將會成為一節(jié) install-section-name LogConfig=log-config-section-name,log-config-section-name. Copyfiles=file-list-section,file-list-section. Renfiles=file-list-section,file-list-section. Delfiles=file-list-section,
5、file-list-section. UpdateInis=update-ini-section,update-ini-section. UpdateIniFields=update-inifields-section,update-inifields-section. AddReg=add-registry-section,add-registry-section. DelReg=del-registry-section,del-registry-section. Ini2Reg=ini-to-registry-section,ini-to-registry-section. 以上各條目并非
6、全部必須。節(jié)名必須為可見字符。每個條目包含一到多個節(jié)。第一個命名之后的所有命名必須以,引導。條目指定了必須出現(xiàn)在 INF 文件中的各節(jié)。 CopyFiles 則可例外(如果沒有任何文件被拷貝)。 如果安裝驅動程序,僅僅使用 LogConfig 條目。詳見 DDK Programmer's Guide. CopyFiles 條目中可以包含特殊字符 以直接拷貝一個單一文件。文件將拷貝到 DefaultDestDir, DestinationDirs 節(jié)包含了 DefaultDestDir 的描述。如例子: MyInstall CopyFiles= MyFile.exe 此文件將拷貝到缺省目
7、標目錄。 為適應不同平臺,可以在 install 節(jié)后加上不同的后綴??梢猿霈F(xiàn) defaultInstall.nt 這樣的節(jié)名。 install-section-name 可選的后綴: Extension Platform .Win Windows 95 .NT Windows NT (all platforms) .NTx86 Windows NT (x86 only) .NTMIPS Windows NT (MIPS only) .NTAlpha Windows NT (Alpha only) .NTPPC Windows NT (PowerPC only) 以下例子展示了如何出現(xiàn)兩個 c
8、opyfiles 節(jié): Ser_Inst CopyFiles=Ser_CopyFiles, mouclass_CopyFiles Ser_CopyFiles sermouse.sys mouclass_CopyFiles mouclass.sys Add Registry 描述如何增加注冊表項目。 add -registry-section 節(jié)名必須處現(xiàn)在 install 節(jié)中的 AddReg 條目中。 add-registry-section reg-root-string, subkey, value-name, flags, value reg-root-string, subkey,
9、value-name, flags, value reg-root-string 注冊表的根名: HKCR HKEY_CLASSES_ROOT. HKCU HKEY_CURRENT_USER. HKLM HKEY_LOCAL_MACHINE. HKU HKEY_USERS. HKR 相關于 SetupInstallFromInfSection. 節(jié)中指定的值 subkey 可選,例如 key1key2key3. value-name 可選,標示 subkey 的值名稱。對于字符串類型可以空,標示缺省字符串值 flag 值類型的標示 Value Meaning FLG_ADDREG_BINVAL
10、UETYPE The value is "raw" data. FLG_ADDREG_NOCLOBBER 如果注冊表中出現(xiàn)不要覆蓋此值 . FLG_ADDREG_DELVAL 從注冊表中刪除此鍵 FLG_ADDREG_APPEND 追加一個值到已存值中,僅僅支持 REG_MULTI_SZ 值 FLG_ADDREG_TYPE_MASK Mask. FLG_ADDREG_TYPE_SZ REG_SZ 類型 FLG_ADDREG_TYPE_MULTI_SZ REG_MULTI_SZ. FLG_ADDREG_TYPE_EXPAND_SZ REG_EXPAND_SZ. FLG_ADD
11、REG_TYPE_BINARY REG_BINARY. FLG_ADDREG_TYPE_DWORD REG_DWORD. FLG_ADDREG_TYPE_NONE REG_NONE. Windows 95 安裝程序將視擴展數(shù)據(jù)類型為 REG_SZ or REG_BINARY. value 可選 . 16 進值或者字符串 CopyFiles 此類節(jié)可以有多個,定義于 install 節(jié)中。 file-list-section destination-file-name,source-file-name,temporary-file-name,flag destination-file-name,
12、source-file-name,temporary-file-name,flag . destination-file-name 目標文件名,如果沒有給出源文件名,那么此名也是源文件名 . source-file-name 源文件名,如果沒有給出目標文件名,那么此名也是目標文件名 . temporary-file-name 被忽略, setup 函數(shù)自動處理臨時文件 . flag 可選,用于控制文件如何被拷貝。你必須配置實際值 COPYFLG_WARN_IF_SKIP (0x00000001) 如果用戶試圖在發(fā)生一個錯誤后跳過將顯示警告信息 COPYFLG_NOSKIP (0x0000000
13、2) 不允許用戶跳過拷貝此文件 COPYFLG_NOVERSIONCHECK (0x00000004) 如果文件存在于目標目錄,忽略 COPYFLG_FORCE_FILE_IN_USE (0x00000008) 替換被使用得文件?,當拷貝時文件被使用 COPYFLG_NO_OVERWRITE (0x00000010) 不覆蓋目標文件中已存文件 COPYFLG_NO_VERSION_DIALOG (0x00000020) 如果目標文件已存且新則不覆蓋也不出現(xiàn)對話框 COPYFLG_REPLACEONLY (0x00000040) 替換目標文件 delete Registry 描述如何增加注冊表項
14、目。 del -registry-section 節(jié)名必須處現(xiàn)在 install 節(jié)中的 DelReg 條目中。 del-registry-section reg-root-string, subkey, value-name, flags, value reg-root-string, subkey, value-name, flags, value reg-root-string 注冊表的根名: HKCR HKEY_CLASSES_ROOT. HKCU HKEY_CURRENT_USER. HKLM HKEY_LOCAL_MACHINE. HKU HKEY_USERS. HKR 相關于 S
15、etupInstallFromInfSection. 節(jié)中指定的值 subkey value-name 可選,標示 subkey 的值名稱。對于字符串類型可以空,標示缺省字符串值 Delete Files 此節(jié)指定需要被刪除的文件 , 節(jié)名必須出現(xiàn)在 install 中的 delfiles 條目中 file-list-section file-name,flag flag 可選。 DELFLG_IN_USE (0x00000001) 當因為文件正被使用, SetupCommitFileQueue 取消 , 將排隊在系統(tǒng)重新啟動時候被刪除。 如果不使用此值,則安裝時候被使用的文件不會被 dele
16、te files 指定節(jié)刪除 DELFLG_IN_USE1 (0x00010000) 高字節(jié)版本的 DELFLG_IN_USE. Setting DELFLG_IN_USE1 差別在于同樣可適用于 Copyfiles 節(jié)和 delete Files 節(jié)即使 COPYFLG_WARN_IF_SKIP 標志被使用。 INI File to Registry 此節(jié)指示那些 ini 文件中的條目將對應到注冊表。 ini-to-registry-section ini-file, ini-section, ini-key,reg-root-string,subkey,flags ini-file ini
17、 文件名 . ini-section ini 文件的節(jié) ini-key 條目 flags 指示當注冊表存在對應的注冊表項目是否是否覆蓋舊值。 Bit value 0 0 缺省,不刪除 ini 文件項目,當 ini 轉移到注冊表后 0 1 刪除 ini 文件中的項目,當 ini 轉移到注冊表后 1 0 缺省,當注冊表存在此子項,則不覆蓋 1 1 覆蓋 Rename Files 此類型節(jié)列出那些將樣改名的文件。此節(jié)名必須出現(xiàn)在 install 節(jié)中 rename-files-section-name new-file-name,old-file-name new-file-name 新文件名 ol
18、d-file-name 原來的文件名。此參數(shù)必須定義于 SourceDisksFiles 節(jié)中。 Update INI Fields 此節(jié)替換、增加、刪除指定 ini 文件的條目。此節(jié)名必須存在于 install 節(jié)中。 update-inifields-section-name ini-file,ini-section,profile-name,old-field,new-field,flags 參數(shù)說明見上 Update INI File 此節(jié)刪除、替換或者新增 INI 的項目 . 節(jié)名必須處現(xiàn)在 install 節(jié)中的 UpdateInis 條目中 update-ini-section-
19、name ini-file,ini-section,old-ini-entry,new-ini-entry,flags ini-file 包含將要改變的條目的 ini 文件。 ini-section 節(jié)名 old-ini-entry 可選的,通常為 key=value 形式 new-ini-entry 可選。通常來自 key=value. key 或者 value 可以為可替換的字符串。 flags 可選命令標志 . Value Meaning 0 缺省。如果 old-ini-entry key 出現(xiàn)在 INI file 條目中 , 將被 new-ini-entry 替換。 值會被忽略,只要
20、key 匹配即可。為無條件增加新條目到 ini 文件,可設置 old-ini-entry 為 NULL 。 為無條件從 ini 文件中刪除 old-ini-entry from ,設置 new-ini-entry 為 NULL 。 1 如果 old-ini-entry 的 key 和 value 已經(jīng)存在于 INI 文件 , 將被 new-ini-entry 替換。 old-ini-entry 參數(shù)的 key 和 value 都必須匹配 2 如果 old-ini-entry 參數(shù)沒有出現(xiàn)在 INI 文件中 , 將不進行任何替換 若 old-ini-entry 的 key 存在于 INI 文件且
21、 new-ini-entry 的 key 存在于 INI 文件 , INI 文件中匹配的 new-ini-entry 的 key 參數(shù)被刪除 , old-ini-entry 的 key 匹配參數(shù)被替換 3 類似 2 ,但是,例外情況為: old-ini-entry 參數(shù)匹配基于 key 和 value, 并不限于 key 可以使用通配符 (*) 指代 key 和 value 的一部分和全部 ini 文件名可以為字符串或者字符鍵。即 %strkey% ,此 strkey 定義于 Strings 節(jié),且必須是一個合法文件名。 Ini 文件明應當包含目錄,可以是直接目錄,也可以是特定目錄標示符。 可
22、以擁有 %dirid% 指定目錄, dirid 指定于 SetupSetDirectoryId 節(jié)中 . 當時用目錄標示符,你應當使用反斜線號于一個目錄路徑中。舉例: , 你可以使用 %11%card.ini 表示 CARD.INI 存在于 System32 目錄中。 以下為例子: %11%sample.ini, Section1, Value1=2 ; 新增一個條目 %11%sample.ini, Section2, Value3=*, ; 刪除老條目 %11%sample.ini, Section4, Value5=1, Value5=4 ; 替換老條目 Services 條目 此節(jié)條目列
23、出增加和刪除的服務列表。 install-section-name.Services AddService=ServiceName,flag,service-install-section,event-log-install-section DelService=ServiceName ServiceName 將要安裝 / 刪除的服務名 flag 指定將如何增加服務。此參數(shù)僅用于 AddService 鍵,取值為: SPSVCINST_TAGTOFRONT (0x1) 將服務標簽題見到服務所在組的前列 SPSVCINST_ASSOCSERVICE (0x2) 此增加的服務關聯(lián)的服務 . ser
24、vice-install-section 服務安裝節(jié) event-log-install-section 時間記錄安裝節(jié)。 以下為例子: Ser_Inst.Services AddService = sermouse, 0x00000002, sermouse_Service_Inst, sermouse_EventLog_Inst ; Port Driver AddService = mouclass, mouclass_Service_Inst, mouclass_EventLog_Inst ; Class Driver Service Install 此節(jié)列出將要安裝的每一個服務信息 i
25、nstall-section-name_ServiceInstallSection DisplayName=name ServiceType=type-code StartType=start-code ErrorControl=error-control-level ServiceBinary=path-to-service LoadOrderGroup=load-order-group-name Dependencies=+depend-on-group-name,depend-on-service-name. StartName=driver-object-name name 可選,友好
26、的服務名稱 type-code 驅動類型。為任何被 theCreateService 函數(shù)認可的參數(shù)。 start-code 何時啟動驅動程序。可為: SERVICE_BOOT_START (0x0) 由操作系統(tǒng) loader 啟動。使用此值僅用于操作系統(tǒng)基本服務。 SERVICE_SYSTEM_START (0x1) 操作系統(tǒng)初始化式啟動。 SERVICE_AUTO_START (0x2) SCM 在系統(tǒng)啟動期間啟動 SERVICE_DEMAND_START (0x3) SCM 根據(jù)需要啟動 SERVICE_DISABLED (0x4) 此服務不可被啟動 error-control-leve
27、l 指定錯誤控制級別。 CRITICAL (0x3) 如果驅動裝載失敗,啟動失敗。如果啟動不是在 “最后一次正確( LastKnownGood. )”控制集,切換到 LastKnownGood 。如果啟動試圖用于 LastKnownGood, 運行故障檢查例程 SEVERE (0x2) 如果啟動不是用于 LastKnownGood , 切換到 LastKnownGood 。如果啟動試圖 LastKnownGood, 發(fā)生錯誤時繼續(xù)啟動。 NORMAL (0x1) 若初始化時失敗,啟動將繼續(xù),但顯示警告信息 IGNORE (0x0) 若初始化時失敗,啟動將繼續(xù),無警告信息 path 二進制文件路
28、徑 load-order-group-name 可選 . 指示服務處在的服務組中的次序 : pointer, port, primary disk, and so forth. +depend-on-group-name 可選,服務依賴的服務組,服務僅當該組的最后一個服務都啟動后才啟動 depend-on-service-name 可選。依賴的服務。 driver-object-name 可選。如果類型屬于 Kernel driver 或者 file system driver, ,此名用于 I/O 管理器裝載的名稱 例子: mouclass_Service_Inst DisplayName
29、= %mouclass.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 1 ; SERVICE_SYSTEM_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%mouclass.sys LoadOrderGroup = Pointer Class DestinationDirs 此節(jié)用于指定( copy file ,rename file 等節(jié)中的目標目錄) DestinationDirs file-list-section=drid,su
30、bdir . . DefaultDestDir=drid,subdir file-list-section Copy Files, Rename Files, 或者 Delete Files 節(jié)名 . drid 目錄標示 (DRID) 。 安裝程序在安裝期間替換一個 DIRID 采用實際的目錄 DIRID %dirid% 為預先定義的目錄 DIRID 可為以下值: -01,0xffff 目錄 01 SourceDrive:path. 10 Windows directory. 11 System directory. (%windir%system on Windows 95, %windir
31、%system32 on Windows NT) 12 Drivers directory.(%windir%system32drivers on Windows NT) 17 INF 文件目錄 18 help 目錄 20 Fonts directory. 21 察看器目錄 24 應用程序目錄 25 共享目錄 Shared directory. 30 啟動驅動器的根目錄 Root directory of the boot drive. 50 %windir%system 51 假脫機目錄 Spool directory. 52 Spool drivers directory. 53 用戶 P
32、rofile 目錄 54 ntldr or OSLOADER.EXE 所在目錄 subdir 子目錄名 可選項 DefaultDestDir 提供缺省的目標目錄。如果 DefaultDestDir 未用于 DestinationDirs 節(jié),缺省的目錄設為 drid_system. SourceDisksFiles 此節(jié)指定源安裝盤上的文件 為了允許多操作系統(tǒng)分發(fā)源文件,你可構造針對特定平臺的 SourceDisksFiles 節(jié)舉例來講, 在 MIPS 平臺上,所有安裝功能在用到 SourceDisksFiles 節(jié)將首先查找 SourceDisksFiles.Mips 節(jié)。 如果安裝功能未
33、找到 SourceDisksFiles.Mips 節(jié) , 或者某個特定行未能在那里找到,安裝功能將使用 SourceDisksFiles 節(jié)。此行為直接或間接影響安裝功能處理 SourceDisksFiles 節(jié)作為其進程的一部分。 大小寫不敏感的前綴可為: alpha mips ppc x86 SourceDisksFiles filename=disk-number,subdir,size filename 在源此盤上的文件名 disk-number 第幾號源盤包含此文件。大于等于 1 ,且定義于 SourceDisksNames 節(jié) subdir 可選參數(shù)。在源盤上的子目錄,缺省為源盤的
34、跟目錄 size 可選參數(shù),文件的壓縮尺寸 SourceDisksFiles SRS01.x86 = 1 ;源文件 SRS01.x86 存在于安裝盤一號盤的根目錄 SourceDisksNames 指示源文件的磁盤名稱 為了允許多操作系統(tǒng)分發(fā)源文件,你可構造針對特定平臺的 SourceDisksNames 節(jié)舉例來講, 在 MIPS 平臺上,所有安裝功能在用到 SourceDisksNames 節(jié)將首先查找 SourceDisksNames.Mips 節(jié)。 如果安裝功能未找到 SourceDisksNames.Mips 節(jié) , 或者某個特定行未能在那里找到,安裝功能將使用 SourceDisk
35、sNames 節(jié)。此行為直接或間接影響安裝功能處理 SourceDisksNames 節(jié)作為其進程的一部分。 大小寫不敏感的前綴可為: alpha mips ppc x86 SourceDisksNames.platform disk-ordinal="disk-description",disk-label,unused,path . platform 指示源文件應用的平臺指示符。 disk-ordinal 磁盤序號 disk-description “”包含的字符串,用于標示磁盤。 disk-label 磁盤卷標 unused 保留未用 path 可選參數(shù),源文件的絕對
36、路徑,如果未用,則表示示根目錄 如下例子中, write.exe 所有平臺都一樣,且存在于源盤 1 的 common 目錄。圓盤 1 將所有平臺都一致的文件存在于 common 目錄中。 CMD.EXE 文件特定于平臺,磁盤 2 指示安裝功能針對每一個平臺的特定目錄。 HALNECMP.DLL 文件特定于 MIPS 平臺。 SourceDisksNames 1 = "Windows NT CD-ROM", Instd1, common SourceDisksNames.Alpha 2 = "Windows NT CD-ROM", Instd1, alph
37、a SourceDisksNames.Mips 2 = "Windows NT CD-ROM", Instd1, mips SourceDisksNames.x86 2 = "Windows NT CD-ROM", Instd1, x86 SourceDisksNames.ppc 2 = "Windows NT CD-ROM", Instd1, ppc SourceDisksFiles write.exe = 1 cmd.exe = 2 SourceDisksFiles.Mips halnecmp.dll = 2 EventLog Install 該節(jié)往注冊表中加入事件消息文件,也可利用此節(jié)移除事件消息文件。 install-sectio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大班情節(jié)畫課程設計
- 2024學歷進修與職業(yè)資格證書雙提升服務合同3篇
- 水資源課程設計怎么做
- 物料總體積流量課程設計
- 搬遷方案模板合集五篇
- 感謝校友的致辭范文(5篇)
- 珍惜時間演講稿四篇
- 2024年房產(chǎn)銷售專屬代理合同模板版
- 液壓剪擴器課程設計
- 2025年山東淄博市屬衛(wèi)生健康系統(tǒng)事業(yè)單位招聘569人歷年管理單位筆試遴選500模擬題附帶答案詳解
- GB 15930-2024建筑通風和排煙系統(tǒng)用防火閥門
- 2023-2024學年廣東省深圳市寶安區(qū)五年級(上)期末英語試卷
- 2022-2023學年北京市通州區(qū)高二(上)期末地理試卷
- 2024年度VR虛擬現(xiàn)實內(nèi)容創(chuàng)作合同
- 第五單元有趣的立體圖形 (單元測試)-2024-2025學年一年級上冊數(shù)學 北師大版
- 房地產(chǎn)中介業(yè)務管理制度
- 2024年湖南公務員考試申論試題(省市卷)
- 全國職業(yè)院校技能大賽中職(大數(shù)據(jù)應用與服務賽項)考試題及答案
- 審計基礎知識培訓
- 義烏房地產(chǎn)市場月報2024年08月
- 陶藝課程課件
評論
0/150
提交評論