[转载]INF文件格式说明
INF文件必須包含以下規(guī)則:
?????? 節(jié)(Sections)開始于由中括號(hào)([])擴(kuò)起來(lái)的節(jié)名
必須包含版本信息節(jié)以表明自己屬于win95還是winnt4格式。
值(Value)由%strkey%替代的表達(dá)式字符串表達(dá)組成,strkey必須在strings節(jié)中定義。如果出現(xiàn)%,則用%%替代。
?
Setup程序使用以下各節(jié):
[Version]??????? 必須包含在INF文件中,表明inf文件格式
[Version]
Signature="signature-name"
Class=class-name
ClassGUID=GUID
Provider=INF-creator
LayoutFile=filename.inf[,filename.inf]...
?
Signature-name
參數(shù)可以取值 $Windows NT$, $Chicago$, or $Windows 95$(引號(hào)括起來(lái)).如果不是以上這些字符串,則不被認(rèn)可為inf文件。
Class-name
此參數(shù)用于安裝設(shè)備驅(qū)動(dòng)。詳細(xì)信息見DDK Programmer's Guide.
GUID
此參數(shù)用于安裝設(shè)備驅(qū)動(dòng)。詳細(xì)信息見DDK Programmer's Guide.
INF-creator
標(biāo)示INF的創(chuàng)建者. 典型的情況,此值為inf文件的創(chuàng)建者所在組織
filename.inf
INF文件必須包含SourceDisksFiles 和 SourceDisksNames 節(jié)。這些文件的描述文件通常命名為 LAYOUT.INF. 如果文件名不是特別指定,SourceDisksNames 和 SourceDisksFiles 必須出現(xiàn)在當(dāng)前inf文件中
以下為典型的例子:
[Version]
Signature="$Windows NT$"
Class=Mouse
ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
Provider=%Provider%
LayoutFile=layout.inf
?
[Strings]
Provider="Corporation X"
?
[Install]?? 此節(jié)指定包含的安裝指令節(jié),每一個(gè)條目將會(huì)成為一節(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[,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]...
??????
????????????? 以上各條目并非全部必須。節(jié)名必須為可見字符。每個(gè)條目包含一到多個(gè)節(jié)。第一個(gè)命名之后的所有命名必須以,引導(dǎo)。條目指定了必須出現(xiàn)在INF文件中的各節(jié)。CopyFiles則可例外(如果沒(méi)有任何文件被拷貝)。
如果安裝驅(qū)動(dòng)程序,僅僅使用LogConfig條目。詳見DDK Programmer's Guide.
????????????? CopyFiles條目中可以包含特殊字符@ 以直接拷貝一個(gè)單一文件。文件將拷貝到DefaultDestDir, DestinationDirs節(jié)包含了DefaultDestDir的描述。如例子:
????????????? [MyInstall]
CopyFiles= @MyFile.exe
此文件將拷貝到缺省目標(biāo)目錄。
?
為適應(yīng)不同平臺(tái),可以在install節(jié)后加上不同的后綴。可以出現(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)兩個(gè)copyfiles節(jié):
[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles
?
[Ser_CopyFiles]
sermouse.sys
?
[mouclass_CopyFiles]
mouclass.sys
?
?
?
?
?
?
[Add Registry]?????? 描述如何增加注冊(cè)表項(xiàng)目。add-registry-section 節(jié)名必須處現(xiàn)在install節(jié)中的 AddReg 條目中。
????????????? [add-registry-section]
reg-root-string, [subkey], [value-name], [flags], [value]
[reg-root-string, [subkey], [value-name], [flags], [value]]
?????????????
????????????? reg-root-string 注冊(cè)表的根名:
????????????? HKCR??????????????? HKEY_CLASSES_ROOT.
HKCU??????????????? HKEY_CURRENT_USER.
HKLM??????????????? HKEY_LOCAL_MACHINE.
HKU??????????????? HKEY_USERS.
HKR??????????????? 相關(guān)于 SetupInstallFromInfSection.節(jié)中指定的值
?
subkey
可選,例如 key1/key2/key3....
?
value-name
可選,標(biāo)示subkey的值名稱。對(duì)于字符串類型可以空,標(biāo)示缺省字符串值
?
flag??????? 值類型的標(biāo)示
Value???????????????????????????? Meaning
FLG_ADDREG_BINVALUETYPE? The value is "raw" data.
FLG_ADDREG_NOCLOBBER???????? 如果注冊(cè)表中出現(xiàn)不要覆蓋此值.
FLG_ADDREG_DELVAL?????????????????????? 從注冊(cè)表中刪除此鍵
FLG_ADDREG_APPEND?????????????????????? 追加一個(gè)值到已存值中,僅僅支持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_ADDREG_TYPE_BINARY??? REG_BINARY.
FLG_ADDREG_TYPE_DWORD??? REG_DWORD.
FLG_ADDREG_TYPE_NONE?????????????? REG_NONE.
???????????????????? Windows 95 安裝程序?qū)⒁晹U(kuò)展數(shù)據(jù)類型為REG_SZ or REG_BINARY.
????????????????????
value
可選. 16進(jìn)值或者字符串
??????
?
?
?
?
?
?
[CopyFiles]?????? 此類節(jié)可以有多個(gè),定義于install節(jié)中。
???????????????????? [file-list-section]
destination-file-name[,source-file-name][,temporary-file-name][,flag]
[destination-file-name[,source-file-name][,temporary-file-name]][,flag]
.
???????????????????? destination-file-name
目標(biāo)文件名,如果沒(méi)有給出源文件名,那么此名也是源文件名.
source-file-name
源文件名,如果沒(méi)有給出目標(biāo)文件名,那么此名也是目標(biāo)文件名.
temporary-file-name
被忽略,setup函數(shù)自動(dòng)處理臨時(shí)文件.
flag
可選,用于控制文件如何被拷貝。你必須配置實(shí)際值
COPYFLG_WARN_IF_SKIP (0x00000001)
如果用戶試圖在發(fā)生一個(gè)錯(cuò)誤后跳過(guò)將顯示警告信息
COPYFLG_NOSKIP (0x00000002)
不允許用戶跳過(guò)拷貝此文件
COPYFLG_NOVERSIONCHECK (0x00000004)
如果文件存在于目標(biāo)目錄,忽略
COPYFLG_FORCE_FILE_IN_USE (0x00000008)
替換被使用得文件?,當(dāng)拷貝時(shí)文件被使用
COPYFLG_NO_OVERWRITE (0x00000010)
不覆蓋目標(biāo)文件中已存文件
COPYFLG_NO_VERSION_DIALOG (0x00000020)
如果目標(biāo)文件已存且新則不覆蓋也不出現(xiàn)對(duì)話框
COPYFLG_REPLACEONLY (0x00000040)
替換目標(biāo)文件
?
?
?
[delete Registry]?????? 描述如何增加注冊(cè)表項(xiàng)目。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 注冊(cè)表的根名:
????????????? HKCR??????????????? HKEY_CLASSES_ROOT.
HKCU??????????????? HKEY_CURRENT_USER.
HKLM??????????????? HKEY_LOCAL_MACHINE.
HKU??????????????? HKEY_USERS.
HKR??????????????? 相關(guān)于 SetupInstallFromInfSection.節(jié)中指定的值
?
subkey
?
value-name
可選,標(biāo)示subkey的值名稱。對(duì)于字符串類型可以空,標(biāo)示缺省字符串值
?
?
[Delete Files]?????? 此節(jié)指定需要被刪除的文件,節(jié)名必須出現(xiàn)在install中的delfiles條目中
????????????? [file-list-section]
file-name[,,,flag]
?????????????
????????????? flag
????????????? 可選。
DELFLG_IN_USE (0x00000001)
當(dāng)因?yàn)槲募皇褂?#xff0c;SetupCommitFileQueue 取消, 將排隊(duì)在系統(tǒng)重新啟動(dòng)時(shí)候被刪除。
如果不使用此值,則安裝時(shí)候被使用的文件不會(huì)被delete files指定節(jié)刪除
DELFLG_IN_USE1 (0x00010000)
高字節(jié)版本的DELFLG_IN_USE. Setting DELFLG_IN_USE1 差別在于同樣可適用于Copyfiles節(jié)和delete Files節(jié)即使COPYFLG_WARN_IF_SKIP 標(biāo)志被使用。
?
?
[INI File to Registry] 此節(jié)指示那些ini文件中的條目將對(duì)應(yīng)到注冊(cè)表。
???????????????????? [ini-to-registry-section]
ini-file, ini-section, [ini-key],reg-root-string,subkey[,flags]
?
ini-file
ini文件名.
ini-section
ini文件的節(jié)
ini-key
條目
flags
指示當(dāng)注冊(cè)表存在對(duì)應(yīng)的注冊(cè)表項(xiàng)目是否是否覆蓋舊值。
Bit??????? value?
0??????? 0?????????????? 缺省,不刪除ini文件項(xiàng)目,當(dāng)ini轉(zhuǎn)移到注冊(cè)表后
0?????? 1?????????????? 刪除ini文件中的項(xiàng)目,當(dāng)ini轉(zhuǎn)移到注冊(cè)表后?
1??????? 0?????????????? 缺省,當(dāng)注冊(cè)表存在此子項(xiàng),則不覆蓋
1??????? 1?????????????? 覆蓋
?
?
[Rename Files]????????????? 此類型節(jié)列出那些將樣改名的文件。此節(jié)名必須出現(xiàn)在install節(jié)中
????????????? [rename-files-section-name]
new-file-name,old-file-name
?
new-file-name
新文件名
old-file-name
原來(lái)的文件名。此參數(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ù)說(shuō)明見上
?
?
[Update INI File]? 此節(jié)刪除、替換或者新增INI 的項(xiàng)目. 節(jié)名必須處現(xiàn)在install節(jié)中的 UpdateInis 條目中
????????????? update-ini-section-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
可選。通常來(lái)自key=value. key 或者value可以為可替換的字符串。
flags
可選命令標(biāo)志.
Value?????????????? Meaning
0?????????????????? 缺省。如果old-ini-entry key 出現(xiàn)在INI file 條目中, 將被new-ini-entry替換。 值會(huì)被忽略,只要key匹配即可。為無(wú)條件增加新條目到ini文件,可設(shè)置 old-ini-entry為NULL。 為無(wú)條件從ini文件中刪除old-ini-entry from,設(shè)置 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ù)沒(méi)有出現(xiàn)在INI 文件中, 將不進(jìn)行任何替換
若 old-ini-entry 的key存在于INI 文件且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é),且必須是一個(gè)合法文件名。
?
Ini文件明應(yīng)當(dāng)包含目錄,可以是直接目錄,也可以是特定目錄標(biāo)示符。
可以擁有%dirid% 指定目錄,dirid指定于 SetupSetDirectoryId節(jié)中. 當(dāng)時(shí)用目錄標(biāo)示符,你應(yīng)當(dāng)使用反斜線號(hào)于一個(gè)目錄路徑中。舉例:,你可以使用 %11%/card.ini 表示 CARD.INI 存在于System32 目錄中。
?
以下為例子:
?
%11%/sample.ini, Section1,, Value1=2???????????? ; 新增一個(gè)條目
%11%/sample.ini, Section2, Value3=*,???????????? ; 刪除老條目
%11%/sample.ini, Section4, Value5=1, Value5=4???? ;替換老條目
?
?
?
?
[Services]條目?????? 此節(jié)條目列出增加和刪除的服務(wù)列表。
?
????????????? [install-section-name.Services]
AddService=ServiceName,flag,service-install-section[,event-log-install-section]
DelService=ServiceName
?????????????
????????????? ServiceName
將要安裝/刪除的服務(wù)名
flag
指定將如何增加服務(wù)。此參數(shù)僅用于AddService 鍵,取值為:
SPSVCINST_TAGTOFRONT (0x1)
將服務(wù)標(biāo)簽題見到服務(wù)所在組的前列
SPSVCINST_ASSOCSERVICE (0x2)
此增加的服務(wù)關(guān)聯(lián)的服務(wù).
service-install-section
服務(wù)安裝節(jié)
event-log-install-section
時(shí)間記錄安裝節(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é)列出將要安裝的每一個(gè)服務(wù)信息
?????? [install-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
可選,友好的服務(wù)名稱
type-code
驅(qū)動(dòng)類型。為任何被theCreateService 函數(shù)認(rèn)可的參數(shù)。
start-code
何時(shí)啟動(dòng)驅(qū)動(dòng)程序。可為:
SERVICE_BOOT_START (0x0)
由操作系統(tǒng)loader啟動(dòng)。使用此值僅用于操作系統(tǒng)基本服務(wù)。
SERVICE_SYSTEM_START (0x1)
操作系統(tǒng)初始化式啟動(dòng)。
SERVICE_AUTO_START (0x2)
SCM在系統(tǒng)啟動(dòng)期間啟動(dòng)
SERVICE_DEMAND_START (0x3)
SCM根據(jù)需要啟動(dòng)
SERVICE_DISABLED (0x4)
此服務(wù)不可被啟動(dòng)
error-control-level
指定錯(cuò)誤控制級(jí)別。
CRITICAL (0x3)
如果驅(qū)動(dòng)裝載失敗,啟動(dòng)失敗。如果啟動(dòng)不是在 “最后一次正確(LastKnownGood.)”控制集,切換到LastKnownGood。如果啟動(dòng)試圖用于 LastKnownGood, 運(yùn)行故障檢查例程
SEVERE (0x2)
如果啟動(dòng)不是用于 LastKnownGood , 切換到LastKnownGood。如果啟動(dòng)試圖LastKnownGood, 發(fā)生錯(cuò)誤時(shí)繼續(xù)啟動(dòng)。
NORMAL (0x1)
若初始化時(shí)失敗,啟動(dòng)將繼續(xù),但顯示警告信息
IGNORE (0x0)
若初始化時(shí)失敗,啟動(dòng)將繼續(xù),無(wú)警告信息
path
二進(jìn)制文件路徑
load-order-group-name
可選. 指示服務(wù)處在的服務(wù)組中的次序: pointer, port, primary disk, and so forth.
+depend-on-group-name
可選,服務(wù)依賴的服務(wù)組,服務(wù)僅當(dāng)該組的最后一個(gè)服務(wù)都啟動(dòng)后才啟動(dòng)
depend-on-service-name
可選。依賴的服務(wù)。
driver-object-name
可選。如果類型屬于 Kernel driver或者file system driver,,此名用于I/O管理器裝載的名稱
例子:
[mouclass_Service_Inst]
DisplayName??? = %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é)中的目標(biāo)目錄)
?????? [DestinationDirs]
file-list-section=drid[,subdir]
.????? .
[DefaultDestDir=drid[,subdir]]
?
file-list-section
?Copy Files, Rename Files, 或者Delete Files 節(jié)名. drid
目錄標(biāo)示(DRID)。 安裝程序在安裝期間替換一個(gè) DIRID采用實(shí)際的目錄
DIRID? %dirid% 為預(yù)先定義的目錄
DIRID 可為以下值:
-01,0xffff?????????????? 目錄
01??????????????????????? SourceDrive:/path.
10??????????????????????? Windows directory.
11??????????????????????? System directory. (%windir%/system on Windows 95, %windir%/system32 on Windows NT)
12??????????????????????? Drivers directory.(%windir%/system32/drivers on Windows NT)
17??????????????????????? INF 文件目錄
18??????????????????????? help目錄
20???????????????????????? Fonts directory.
21??????????????????????? 察看器目錄
24???????????????????????? 應(yīng)用程序目錄
25??????????????????????? 共享目錄Shared directory.
30???????????????????????? 啟動(dòng)驅(qū)動(dòng)器的根目錄Root directory of the boot drive.
50???????????????????????? %windir%/system
51??????????????????????? 假脫機(jī)目錄Spool directory.
52???????????????????????? Spool drivers directory.
53??????????????????????? 用戶 Profile 目錄
54???????????????????????? ntldr or OSLOADER.EXE 所在目錄
?
subdir
子目錄名
可選項(xiàng) DefaultDestDir 提供缺省的目標(biāo)目錄。如果DefaultDestDir 未用于 DestinationDirs 節(jié),缺省的目錄設(shè)為 drid_system.
?
?
[SourceDisksFiles]????????? 此節(jié)指定源安裝盤上的文件
????????????? 為了允許多操作系統(tǒng)分發(fā)源文件,你可構(gòu)造針對(duì)特定平臺(tái)的SourceDisksFiles 節(jié)舉例來(lái)講, 在 MIPS 平臺(tái)上,所有安裝功能在用到 SourceDisksFiles 節(jié)將首先查找 SourceDisksFiles.Mips 節(jié)。 如果安裝功能未找到 SourceDisksFiles.Mips 節(jié), 或者某個(gè)特定行未能在那里找到,安裝功能將使用 SourceDisksFiles 節(jié)。此行為直接或間接影響安裝功能處理 SourceDisksFiles節(jié)作為其進(jìn)程的一部分。
?????? 大小寫不敏感的前綴可為:
????????????? alpha
mips
ppc
x86
?
????????????? [SourceDisksFiles]
filename=disk-number[,subdir][,size]
?????? filename
??????????????? 在源此盤上的文件名
disk-number
??????????????? 第幾號(hào)源盤包含此文件。大于等于1,且定義于 SourceDisksNames 節(jié)
subdir
??????????????? 可選參數(shù)。在源盤上的子目錄,缺省為源盤的跟目錄
size
???????? 可選參數(shù),文件的壓縮尺寸
????????
???????? [SourceDisksFiles]
???????? SRS01.x86 = 1?????????????????????? ;源文件SRS01.x86存在于安裝盤一號(hào)盤的根目錄
?
?
[SourceDisksNames]???????? 指示源文件的磁盤名稱
???????? 為了允許多操作系統(tǒng)分發(fā)源文件,你可構(gòu)造針對(duì)特定平臺(tái)的SourceDisksNames節(jié)舉例來(lái)講, 在 MIPS 平臺(tái)上,所有安裝功能在用到 SourceDisksNames節(jié)將首先查找 SourceDisksNames.Mips 節(jié)。 如果安裝功能未找到 SourceDisksNames.Mips 節(jié), 或者某個(gè)特定行未能在那里找到,安裝功能將使用 SourceDisksNames節(jié)。此行為直接或間接影響安裝功能處理 SourceDisksNames節(jié)作為其進(jìn)程的一部分。
大小寫不敏感的前綴可為:
????????????? alpha
mips
ppc
x86
?
???????????? [SourceDisksNames[.platform]]
???????????? disk-ordinal="disk-description"[,[disk-label],[unused,path]
.??????????????
??????????????? platform
????????????????? 指示源文件應(yīng)用的平臺(tái)指示符。
??????????????? disk-ordinal
??????????????????????????????? 磁盤序號(hào)
??????????????? disk-description
??????????????????????????????? “”包含的字符串,用于標(biāo)示磁盤。
??????????????? disk-label
??????????????????????????????? 磁盤卷標(biāo)
??????????????? unused
??????????????????????????????? 保留未用
??????????????? path????????????????
??????????????????????????????? 可選參數(shù),源文件的絕對(duì)路徑,如果未用,則表示示根目錄
??????????????? 如下例子中, write.exe 所有平臺(tái)都一樣,且存在于源盤1的/common 目錄。圓盤1將所有平臺(tái)都一致的文件存在于/common目錄中。 CMD.EXE 文件特定于平臺(tái),磁盤2指示安裝功能針對(duì)每一個(gè)平臺(tái)的特定目錄。HALNECMP.DLL 文件特定于MIPS 平臺(tái)。
??????????????? [SourceDisksNames]
??????????????? 1 = "Windows NT CD-ROM", Instd1,, /common
???????????????
??????????????? [SourceDisksNames.Alpha]
??????????????? 2 = "Windows NT CD-ROM", Instd1,, /alpha
???????????????
??????????????? [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é)往注冊(cè)表中加入事件消息文件,也可利用此節(jié)移除事件消息文件。
??????????????? [install-section-name_EventLogInstallSection]
??????????????? AddReg=add-registry-section
??????????????? DelReg=del-registry-section
??????????????
??????????????? add-registry-section
??????????????? del-registry-section
???????????????????????????????????? 事件消息節(jié)名
??????????????? AddReg???????????????????????????? 指示哪節(jié)將作為增加事件的注冊(cè)表項(xiàng)
??????????????? DelReg??????????? 指示刪除事件項(xiàng)
???????????????
??????????????? 以下為典型的 EventLog 安裝節(jié):
??????????????? [sermouse_EventLog_Inst]
??????????????????????????????? AddReg=sermouse_EventLog_AddReg?????????????
??????????????? [sermouse_EventLog_AddReg]
???????? HKR,EventMessageFile,0x00020000,"%%SystemRoot%%/System32/IoLogMsg.dll/;%%SystemRoot%%/System32/drivers/sermouse.sys"
??????????????? HKR,,TypesSupported,0x00010001,7
?
?
?
?
[Strings]??? 該節(jié)定義了1個(gè)或多個(gè)字符串關(guān)鍵字. 一個(gè)字符串key 展開一個(gè)可打印字符串
可以有針對(duì)特定語(yǔ)言的String節(jié)
?
??????????????? [Strings[.langid]]
??????????????? strings-key=value
???????????????
??????????????? langid
??????????????????????????????? 可選的指示string節(jié)所屬語(yǔ)言的語(yǔ)言標(biāo)示符. 舉例, U.S. English 是 0409 以及Standard French 是 040c.
??????????????? strings-key
??????????????????????????????? 由字符和數(shù)字組成的唯一名符
??????????????? value
??????????????????????????????? 展開后的字符串內(nèi)容
???????????????
??????????????? 例子:
?
??????????????? [Strings]
??????????????? String0="Corporation X"
??????????????? String1="Corporation X"
??????????????? String2="CS2590 SCSI Adapter"
?
??????????????? 特定語(yǔ)言的例子:
??????????????? [Strings.0409]
??????????????? ; American English strings
??????????????? S1 = "Hello"
???????????????
??????????????? [Strings.0009]
??????????????? ; British English strings
??????????????? ; Note that 0009 is used instead of 0809 to make this the default
??????????????? ; for English languages other than U.S. English.
??????????????? S1 = "Greetings"
???????????????
??????????????? [Strings]
??????????????? ; French strings
??????????????? ; Not specifying a langid makes this the default
??????????????? S1 = "Bonjour"
???????????????
???????????????
??????????????? 注釋
??????????????? 盡管此節(jié)通常處于inf文件的最后一節(jié),但是定義的字符串Key可用于inf文件任何位置。安裝程序?qū)⒄归_字符串
??????????????? 如果用到%,請(qǐng)使用%%。
??????????????? Windows 95: 不可包含strings節(jié),不支持多語(yǔ)言.
出處:http://blog.csdn.net/shanhe/archive/2004/12/25/229368.aspx
總結(jié)
以上是生活随笔為你收集整理的[转载]INF文件格式说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: five months plan
- 下一篇: 设备驱动程序INF文件