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
Provider=INF-creator
LayoutFile=filename.inf[,filename.inf]...
?
Signature-name
參數(shù)可以取值
$Windows NT$, $Chicago$, or $Windows 95$
(引號括起來)
.
如果不是以上這些字符串,則不被認可為
inf
文件。
Class-name
此參數(shù)用于安裝設(shè)備驅(qū)動。詳細信息見
DDK Programmer's Guide.
GUID
此參數(shù)用于安裝設(shè)備驅(qū)動。詳細信息見
DDK Programmer's Guide.
INF-creator
標示
INF
的創(chuàng)建者
.
典型的情況,此值為
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%
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[,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é)名必須為可見字符。每個條目包含一到多個節(jié)。第一個命名之后的所有命名必須以,引導。條目指定了必須出現(xiàn)在
INF
文件中的各節(jié)。
CopyFiles
則可例外(如果沒有任何文件被拷貝)。
如果安裝驅(qū)動程序,僅僅使用
LogConfig
條目。詳見
DDK Programmer's Guide.
??????
?????? CopyFiles
條目中可以包含特殊字符
@
以直接拷貝一個單一文件。文件將拷貝到
DefaultDestDir, DestinationDirs
節(jié)包含了
DefaultDestDir
的描述。如例子:
??????
?????? [MyInstall]
CopyFiles= @MyFile.exe
此文件將拷貝到缺省目標目錄。
?
為適應(yīng)不同平臺,可以在
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)兩個
copyfiles
節(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], [value-name], [flags], [value]]
?????????????
??????
??????
reg-root-string
注冊表的根名:
????????????? 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
可選,標示
subkey
的值名稱。對于字符串類型可以空,標示缺省字符串值
?
flag ??????
值類型的標示
Value ????????????? ?????? ?????? Meaning
FLG_ADDREG_BINVALUETYPE? 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_ADDREG_TYPE_BINARY? ??REG_BINARY.
FLG_ADDREG_TYPE_DWORD? ??REG_DWORD.
FLG_ADDREG_TYPE_NONE? ????? ?????? REG_NONE.
?????????????
?????? Windows 95
安裝程序?qū)⒁晹U展數(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[,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 (0x00000002)
不允許用戶跳過拷貝此文件
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]??????
描述如何增加注冊表項目。
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 ????????????? ?
相關(guān)于
SetupInstallFromInfSection.
節(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)重新啟動時候被刪除。
如果不使用此值,則安裝時候被使用的文件不會被
delete 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
文件中的條目將對應(yīng)到注冊表。
?????????????
?????? [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
指示當注冊表存在對應(yīng)的注冊表項目是否是否覆蓋舊值。
Bit ?????? value?
0 ?????? 0 ?????? ??????
缺省,不刪除
ini
文件項目,當
ini
轉(zhuǎn)移到注冊表后
0?????? 1 ?????? ??????
刪除
ini
文件中的項目,當
ini
轉(zhuǎn)移到注冊表后
?
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
新文件名
old-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-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
替換。
值會被忽略,只要
key
匹配即可。為無條件增加新條目到
ini
文件,可設(shè)置
old-ini-entry
為
NULL
。
為無條件從
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ù)沒有出現(xiàn)在
INI
文件中
,
將不進行任何替換
若
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é),且必須是一個合法文件名。
?
Ini
文件明應(yīng)當包含目錄,可以是直接目錄,也可以是特定目錄標示符。
可以擁有
%dirid%
指定目錄,
dirid
指定于
SetupSetDirectoryId
節(jié)中
.
當時用目錄標示符,你應(yīng)當使用反斜線號于一個目錄路徑中。舉例:
,
你可以使用
%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é)條目列出增加和刪除的服務(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ù)標簽題見到服務(wù)所在組的前列
SPSVCINST_ASSOCSERVICE (0x2)
此增加的服務(wù)關(guān)聯(lián)的服務(wù)
.
service-install-section
服務(wù)安裝節(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é)列出將要安裝的每一個服務(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ū)動類型。為任何被
theCreateService
函數(shù)認可的參數(shù)。
start-code
何時啟動驅(qū)動程序??蔀椋?/span>
SERVICE_BOOT_START (0x0)
由操作系統(tǒng)
loader
啟動。使用此值僅用于操作系統(tǒng)基本服務(wù)。
SERVICE_SYSTEM_START (0x1)
操作系統(tǒng)初始化式啟動。
SERVICE_AUTO_START (0x2)
SCM
在系統(tǒng)啟動期間啟動
SERVICE_DEMAND_START (0x3)
SCM
根據(jù)需要啟動
SERVICE_DISABLED (0x4)
此服務(wù)不可被啟動
error-control-level
指定錯誤控制級別。
CRITICAL (0x3)
如果驅(qū)動裝載失敗,啟動失敗。如果啟動不是在
“最后一次正確(
LastKnownGood.
)”控制集,切換到
LastKnownGood
。如果啟動試圖用于
LastKnownGood,
運行故障檢查例程
SEVERE (0x2)
如果啟動不是用于
LastKnownGood ,
切換到
LastKnownGood
。如果啟動試圖
LastKnownGood,
發(fā)生錯誤時繼續(xù)啟動。
NORMAL (0x1)
若初始化時失敗,啟動將繼續(xù),但顯示警告信息
IGNORE (0x0)
若初始化時失敗,啟動將繼續(xù),無警告信息
path
二進制文件路徑
load-order-group-name
可選
.
指示服務(wù)處在的服務(wù)組中的次序
: pointer, port, primary disk, and so forth.
+depend-on-group-name
可選,服務(wù)依賴的服務(wù)組,服務(wù)僅當該組的最后一個服務(wù)都啟動后才啟動
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é)中的目標目錄)
?????? [DestinationDirs]
file-list-section=drid[,subdir]
.????? .
[DefaultDestDir=drid[,subdir]]
?
file-list-section
?Copy Files, Rename Files,
或者
Delete Files
節(jié)名
. drid
目錄標示
(DRID)
。
安裝程序在安裝期間替換一個
DIRID
采用實際的目錄
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??? ????????????? ??????
啟動驅(qū)動器的根目錄
Root directory of the boot drive.
50??? ????????????? ?????? %windir%\system
51 ? ????????????? ??????
假脫機目錄
Spool directory.
52??? ????????????? ?????? Spool drivers directory.
53 ? ????????????? ??????
用戶
Profile
目錄
54??? ????????????? ?????? ntldr or OSLOADER.EXE
所在目錄
?
subdir
子目錄名
可選項
DefaultDestDir
提供缺省的目標目錄。如果
DefaultDestDir
未用于
DestinationDirs
節(jié),缺省的目錄設(shè)為
drid_system.
?
?
[SourceDisksFiles]?????????
此節(jié)指定源安裝盤上的文件
?????????????
為了允許多操作系統(tǒng)分發(fā)源文件,你可構(gòu)造針對特定平臺的
SourceDisksFiles
節(jié)舉例來講,
在
MIPS
平臺上,所有安裝功能在用到
SourceDisksFiles
節(jié)將首先查找
SourceDisksFiles.Mips
節(jié)。
如果安裝功能未找到
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ù)。在源盤上的子目錄,缺省為源盤的跟目錄
size
????????
可選參數(shù),文件的壓縮尺寸
????????
???????? [SourceDisksFiles]
???????? SRS01.x86 = 1?????? ???????????????
;源文件
SRS01.x86
存在于安裝盤一號盤的根目錄
?
?
[SourceDisksNames]????????
指示源文件的磁盤名稱
????????
為了允許多操作系統(tǒng)分發(fā)源文件,你可構(gòu)造針對特定平臺的
SourceDisksNames
節(jié)舉例來講,
在
MIPS
平臺上,所有安裝功能在用到
SourceDisksNames
節(jié)將首先查找
SourceDisksNames.Mips
節(jié)。
如果安裝功能未找到
SourceDisksNames.Mips
節(jié)
,
或者某個特定行未能在那里找到,安裝功能將使用
SourceDisksNames
節(jié)。此行為直接或間接影響安裝功能處理
SourceDisksNames
節(jié)作為其進程的一部分。
大小寫不敏感的前綴可為:
????????????? alpha
mips
ppc
x86
?
???????????? [SourceDisksNames[.platform]]
???????????? disk-ordinal="disk-description"[,[disk-label],[unused,path]
.??????????????
??????????????? platform
????????
????????
指示源文件應(yīng)用的平臺指示符。
??????????????? disk-ordinal
???????????????
???????????????
磁盤序號
??????????????? disk-description
???????????????
???????????????
“”包含的字符串,用于標示磁盤。
??????????????? disk-label
???????????????
???????????????
磁盤卷標
??????????????? unused
???????????????
???????????????
保留未用
??????????????? path ???????????????
???????????????
???????????????
可選參數(shù),源文件的絕對路徑,如果未用,則表示示根目錄
???????????????
如下例子中,
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,, \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é)往注冊表中加入事件消息文件,也可利用此節(jié)移除事件消息文件。
??????????????? [install-section-name_EventLogInstallSection]
??????????????? AddReg=add-registry-section
??????????????? DelReg=del-registry-section
?
?????????????
??????????????? add-registry-section
??????????????? del-registry-section
????????????????????
???????????????
事件消息節(jié)名
??????????????? AddReg???????????? ???????????????
指示哪節(jié)將作為增加事件的注冊表項
??????????????? DelReg ??????????
指示刪除事件項
???????????????
???????????????
以下為典型的
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
個或多個字符串關(guān)鍵字
.
一個字符串
key
展開一個可打印字符串
可以有針對特定語言的
String
節(jié)
?
??????????????? [Strings[.langid]]
??????????????? strings-key=value
???????????????
??????????????? langid
???????????????
???????????????
可選的指示
string
節(jié)所屬語言的語言標示符
.
舉例
, U.S. English
是
0409
以及
Standard French
是
040c.
??????????????? strings-key
???????????????
???????????????
由字符和數(shù)字組成的唯一名符
??????????????? value
???????????????
???????????????
展開后的字符串內(nèi)容
???????????????
???????????????
例子:
?
??????????????? [Strings]
??????????????? String0="Corporation X"
??????????????? String1="Corporation X"
??????????????? String2="CS2590 SCSI Adapter"
?
???????????????
特定語言的例子:
??????????????? [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ū)⒄归_字符串
???????????????
如果用到
%,
請使用
%%
。
??????????????? Windows 95:
不可包含
strings
節(jié),不支持多語言
(轉(zhuǎn)載自http://blog.csdn.net/shanhe/archive/2004/12/25/229368.aspx)