INF
文件必須包含以下規(guī)則:
??????
節(jié)(
Sections
)開始于由中括號(hào)
([])
擴(kuò)起來的節(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)括起來)
.
如果不是以上這些字符串,則不被認(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
則可例外(如果沒有任何文件被拷貝)。
如果安裝驅(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é)后加上不同的后綴??梢猿霈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)兩個(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)文件名,如果沒有給出源文件名,那么此名也是源文件名
.
source-file-name
源文件名,如果沒有給出目標(biāo)文件名,那么此名也是目標(biāo)文件名
.
temporary-file-name
被忽略,
setup
函數(shù)自動(dòng)處理臨時(shí)文件
.
flag
可選,用于控制文件如何被拷貝。你必須配置實(shí)際值
COPYFLG_WARN_IF_SKIP (0x00000001)
如果用戶試圖在發(fā)生一個(gè)錯(cuò)誤后跳過將顯示警告信息
COPYFLG_NOSKIP (0x00000002)
不允許用戶跳過拷貝此文件
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)槲募皇褂茫?/span>
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
原來的文件名。此參數(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
的項(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
可選。通常來自
key=value. key
或者
value
可以為可替換的字符串。
flags
可選命令標(biāo)志
.
Value ?????? ?????? Meaning
0???? ?????? ??????
缺省。如果
old-ini-entry key
出現(xiàn)在
INI file
條目中
,
將被
new-ini-entry
替換。
值會(huì)被忽略,只要
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
文件中
,
將不進(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)程序??蔀椋?/span>
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ù),無警告信息
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é)舉例來講,
在
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é)舉例來講,
在
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ì)特定語言的
String
節(jié)
?
??????????????? [Strings[.langid]]
??????????????? strings-key=value
???????????????
??????????????? langid
???????????????
???????????????
可選的指示
string
節(jié)所屬語言的語言標(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"
?
???????????????
特定語言的例子:
??????????????? [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é),不支持多語言
.