版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、INF文件格式详解INF 文件必须包含以下规则: 节( Sections )开始于由中括号 () 扩起来的节名 必须包含版本信息节以表明自己属于 win95 还是 winnt4 格式。 值 (Value) 由 %strkey% 替代的表达式字符串表达组成, strkey 必须在 strings 节中定义。如果出现 % ,则用 % 替代。 Setup 程序使用以下各节 : Version 必须包含在 INF 文件中,表明 inf 文件格式 Version Signature="signature-name" Class=class-name ClassGUID=GUID Pr
2、ovider=INF-creator LayoutFile=filename.inf,filename.inf. Signature-name 参数可以取值 $Windows NT$, $Chicago$, or $Windows 95$ (引号括起来) . 如果不是以上这些字符串,则不被认可为 inf 文件。 Class-name 此参数用于安装设备驱动。详细信息见 DDK Programmer's Guide. GUID 此参数用于安装设备驱动。详细信息见 DDK Programmer's Guide. INF-creator 标示 INF 的创建者 . 典型的情况,此值为
3、 inf 文件的创建者所在组织 filename.inf INF 文件必须包含 SourceDisksFiles 和 SourceDisksNames 节。这些文件的描述文件通常命名为 LAYOUT.INF. 如果文件名不是特别指定, SourceDisksNames 和 SourceDisksFiles 必须出现在当前 inf 文件中 以下为典型的例子: Version Signature="$Windows NT$" Class=Mouse ClassGUID=4D36E96F-E325-11CE-BFC1-08002BE10318 Provider=%Provider
4、% LayoutFile=layout.inf Strings Provider="Corporation X" Install 此节指定包含的安装指令节,每一个条目将会成为一节 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、全部必须。节名必须为可见字符。每个条目包含一到多个节。第一个命名之后的所有命名必须以,引导。条目指定了必须出现在 INF 文件中的各节。 CopyFiles 则可例外(如果没有任何文件被拷贝)。 如果安装驱动程序,仅仅使用 LogConfig 条目。详见 DDK Programmer's Guide. CopyFiles 条目中可以包含特殊字符 以直接拷贝一个单一文件。文件将拷贝到 DefaultDestDir, DestinationDirs 节包含了 DefaultDestDir 的描述。如例子: MyInstall CopyFiles= MyFile.exe 此文件将拷贝到缺省目
7、标目录。 为适应不同平台,可以在 install 节后加上不同的后缀。可以出现 defaultInstall.nt 这样的节名。 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) 以下例子展示了如何出现两个 c
8、opyfiles 节: Ser_Inst CopyFiles=Ser_CopyFiles, mouclass_CopyFiles Ser_CopyFiles sermouse.sys mouclass_CopyFiles mouclass.sys Add Registry 描述如何增加注册表项目。 add -registry-section 节名必须处现在 install 节中的 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. 节中指定的值 subkey 可选,例如 key1key2key3. value-name 可选,标示 subkey 的值名称。对于字符串类型可以空,标示缺省字符串值 flag 值类型的标示 Value Meaning FLG_ADDREG_BINVAL
10、UETYPE The value is "raw" data. FLG_ADDREG_NOCLOBBER 如果注册表中出现不要覆盖此值 . 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 安装程序将视扩展数据类型为 REG_SZ or REG_BINARY. value 可选 . 16 进值或者字符串 CopyFiles 此类节可以有多个,定义于 install 节中。 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 函数自动处理临时文件 . flag 可选,用于控制文件如何被拷贝。你必须配置实际值 COPYFLG_WARN_IF_SKIP (0x00000001) 如果用户试图在发生一个错误后跳过将显示警告信息 COPYFLG_NOSKIP (0x0000000
13、2) 不允许用户跳过拷贝此文件 COPYFLG_NOVERSIONCHECK (0x00000004) 如果文件存在于目标目录,忽略 COPYFLG_FORCE_FILE_IN_USE (0x00000008) 替换被使用得文件?,当拷贝时文件被使用 COPYFLG_NO_OVERWRITE (0x00000010) 不覆盖目标文件中已存文件 COPYFLG_NO_VERSION_DIALOG (0x00000020) 如果目标文件已存且新则不覆盖也不出现对话框 COPYFLG_REPLACEONLY (0x00000040) 替换目标文件 delete Registry 描述如何增加注册表项
14、目。 del -registry-section 节名必须处现在 install 节中的 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. 节中指定的值 subkey value-name 可选,标示 subkey 的值名称。对于字符串类型可以空,标示缺省字符串值 Delete Files 此节指定需要被删除的文件 , 节名必须出现在 install 中的 delfiles 条目中 file-list-section file-name,flag flag 可选。 DELFLG_IN_USE (0x00000001) 当因为文件正被使用, SetupCommitFileQueue 取消 , 将排队在系统重新启动时候被删除。 如果不使用此值,则安装时候被使用的文件不会被 dele
16、te files 指定节删除 DELFLG_IN_USE1 (0x00010000) 高字节版本的 DELFLG_IN_USE. Setting DELFLG_IN_USE1 差别在于同样可适用于 Copyfiles 节和 delete Files 节即使 COPYFLG_WARN_IF_SKIP 标志被使用。 INI File to Registry 此节指示那些 ini 文件中的条目将对应到注册表。 ini-to-registry-section ini-file, ini-section, ini-key,reg-root-string,subkey,flags ini-file ini
17、 文件名 . ini-section ini 文件的节 ini-key 条目 flags 指示当注册表存在对应的注册表项目是否是否覆盖旧值。 Bit value 0 0 缺省,不删除 ini 文件项目,当 ini 转移到注册表后 0 1 删除 ini 文件中的项目,当 ini 转移到注册表后 1 0 缺省,当注册表存在此子项,则不覆盖 1 1 覆盖 Rename Files 此类型节列出那些将样改名的文件。此节名必须出现在 install 节中 rename-files-section-name new-file-name,old-file-name new-file-name 新文件名 ol
18、d-file-name 原来的文件名。此参数必须定义于 SourceDisksFiles 节中。 Update INI Fields 此节替换、增加、删除指定 ini 文件的条目。此节名必须存在于 install 节中。 update-inifields-section-name ini-file,ini-section,profile-name,old-field,new-field,flags 参数说明见上 Update INI File 此节删除、替换或者新增 INI 的项目 . 节名必须处现在 install 节中的 UpdateInis 条目中 update-ini-section-
19、name ini-file,ini-section,old-ini-entry,new-ini-entry,flags ini-file 包含将要改变的条目的 ini 文件。 ini-section 节名 old-ini-entry 可选的,通常为 key=value 形式 new-ini-entry 可选。通常来自 key=value. key 或者 value 可以为可替换的字符串。 flags 可选命令标志 . Value Meaning 0 缺省。如果 old-ini-entry key 出现在 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 已经存在于 INI 文件 , 将被 new-ini-entry 替换。 old-ini-entry 参数的 key 和 value 都必须匹配 2 如果 old-ini-entry 参数没有出现在 INI 文件中 , 将不进行任何替换 若 old-ini-entry 的 key 存在于 INI 文件且
21、 new-ini-entry 的 key 存在于 INI 文件 , INI 文件中匹配的 new-ini-entry 的 key 参数被删除 , old-ini-entry 的 key 匹配参数被替换 3 类似 2 ,但是,例外情况为: old-ini-entry 参数匹配基于 key 和 value, 并不限于 key 可以使用通配符 (*) 指代 key 和 value 的一部分和全部 ini 文件名可以为字符串或者字符键。即 %strkey% ,此 strkey 定义于 Strings 节,且必须是一个合法文件名。 Ini 文件明应当包含目录,可以是直接目录,也可以是特定目录标示符。 可
22、以拥有 %dirid% 指定目录, dirid 指定于 SetupSetDirectoryId 节中 . 当时用目录标示符,你应当使用反斜线号于一个目录路径中。举例: , 你可以使用 %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 条目 此节条目列
23、出增加和删除的服务列表。 install-section-name.Services AddService=ServiceName,flag,service-install-section,event-log-install-section DelService=ServiceName ServiceName 将要安装 / 删除的服务名 flag 指定将如何增加服务。此参数仅用于 AddService 键,取值为: SPSVCINST_TAGTOFRONT (0x1) 将服务标签题见到服务所在组的前列 SPSVCINST_ASSOCSERVICE (0x2) 此增加的服务关联的服务 . ser
24、vice-install-section 服务安装节 event-log-install-section 时间记录安装节。 以下为例子: 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 此节列出将要安装的每一个服务信息 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 函数认可的参数。 start-code 何时启动驱动程序。可为: SERVICE_BOOT_START (0x0) 由操作系统 loader 启动。使用此值仅用于操作系统基本服务。 SERVICE_SYSTEM_START (0x1) 操作系统初始化式启动。 SERVICE_AUTO_START (0x2) SCM 在系统启动期间启动 SERVICE_DEMAND_START (0x3) SCM 根据需要启动 SERVICE_DISABLED (0x4) 此服务不可被启动 error-control-leve
27、l 指定错误控制级别。 CRITICAL (0x3) 如果驱动装载失败,启动失败。如果启动不是在 “最后一次正确( LastKnownGood. )”控制集,切换到 LastKnownGood 。如果启动试图用于 LastKnownGood, 运行故障检查例程 SEVERE (0x2) 如果启动不是用于 LastKnownGood , 切换到 LastKnownGood 。如果启动试图 LastKnownGood, 发生错误时继续启动。 NORMAL (0x1) 若初始化时失败,启动将继续,但显示警告信息 IGNORE (0x0) 若初始化时失败,启动将继续,无警告信息 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 此节用于指定( copy file ,rename file 等节中的目标目录) DestinationDirs file-list-section=drid,su
30、bdir . . DefaultDestDir=drid,subdir file-list-section Copy Files, Rename Files, 或者 Delete Files 节名 . 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 节,缺省的目录设为 drid_system. SourceDisksFiles 此节指定源安装盘上的文件 为了允许多操作系统分发源文件,你可构造针对特定平台的 SourceDisksFiles 节举例来讲, 在 MIPS 平台上,所有安装功能在用到 SourceDisksFiles 节将首先查找 SourceDisksFiles.Mips 节。 如果安装功能未
33、找到 SourceDisksFiles.Mips 节 , 或者某个特定行未能在那里找到,安装功能将使用 SourceDisksFiles 节。此行为直接或间接影响安装功能处理 SourceDisksFiles 节作为其进程的一部分。 大小写不敏感的前缀可为: alpha mips ppc x86 SourceDisksFiles filename=disk-number,subdir,size filename 在源此盘上的文件名 disk-number 第几号源盘包含此文件。大于等于 1 ,且定义于 SourceDisksNames 节 subdir 可选参数。在源盘上的子目录,缺省为源盘的
34、跟目录 size 可选参数,文件的压缩尺寸 SourceDisksFiles SRS01.x86 = 1 ;源文件 SRS01.x86 存在于安装盘一号盘的根目录 SourceDisksNames 指示源文件的磁盘名称 为了允许多操作系统分发源文件,你可构造针对特定平台的 SourceDisksNames 节举例来讲, 在 MIPS 平台上,所有安装功能在用到 SourceDisksNames 节将首先查找 SourceDisksNames.Mips 节。 如果安装功能未找到 SourceDisksNames.Mips 节 , 或者某个特定行未能在那里找到,安装功能将使用 SourceDisk
35、sNames 节。此行为直接或间接影响安装功能处理 SourceDisksNames 节作为其进程的一部分。 大小写不敏感的前缀可为: alpha mips ppc x86 SourceDisksNames.platform disk-ordinal="disk-description",disk-label,unused,path . platform 指示源文件应用的平台指示符。 disk-ordinal 磁盘序号 disk-description “”包含的字符串,用于标示磁盘。 disk-label 磁盘卷标 unused 保留未用 path 可选参数,源文件的绝对
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 该节往注册表中加入事件消息文件,也可利用此节移除事件消息文件。 install-sectio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手注塑机2024年度购销合同范本2篇带眉脚
- 2025版冷链物流货车承包经营合同范本3篇
- 2025年高端装备制造业货物采购运输合同3篇
- 二零二五年度2025场现代农业科技应用推广合同3篇
- 二零二五年度城市绿化项目承包经营合同赔偿细则3篇
- 2025版建筑工程施工安全管理技术咨询合同示范文本
- 二零二五年度彩钢板房拆除工程废弃物处置与资源化利用协议2篇
- 二零二五年度隧道工程安装施工合同6篇
- 二零二五年度人工智能伦理与隐私保护合同法解读
- 2025年度新型木材加工钢材买卖居间服务与技术支持合同4篇
- 特鲁索综合征
- 《向心力》 教学课件
- 结构力学数值方法:边界元法(BEM):边界元法的基本原理与步骤
- 2024年山东省泰安市高考语文一模试卷
- 工程建设行业标准内置保温现浇混凝土复合剪力墙技术规程
- 北师大版物理九年级全一册课件
- 2024年第三师图木舒克市市场监督管理局招录2人《行政职业能力测验》高频考点、难点(含详细答案)
- RFJ 006-2021 RFP型人防过滤吸收器制造与验收规范(暂行)
- 盆腔炎教学查房课件
- 110kv各类型变压器的计算单
- 新概念英语课件NCE3-lesson15(共34张)
评论
0/150
提交评论