打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
INF安装信息文件3
以下各行条目为可选内容:

  示例01中,Class=Image,这一行的语法为:Class=Unknown系统定义用户指定的类名。(有关信息,参考下面的设备管理器支持的硬件类型

  示例01中,Provider=%SoftMfg%,这一行的语法为:Provider=%提供商名称%提供商。

  示例01中,DriverVer=11/26/2003, 4.2.1126.72,这一行的语法为:DirverVer=月/日/年,版本及发布时间。

  示例01中,CatalogFile=usbvm31b.cat,这一行的语法为:CatelogFile=[.Ntetc]包含WHQL数字签名(即微软数字签名)的目录说明文件。

 

设备管理器支持的硬件类型

 

 INI文件中的类型名称 设备安装器中的类型名称 描述
 Adapter CDROM控制器 非SCSI CDROM控制器
 DiskDrie 磁盘驱动器 
 Keyboard 键盘 
 System 系统设备 主板设备(PCI、PIC等)
 MEDIA 声音、视频和游戏控制器 多媒体
 Modem 调制解调器 
 MultiFunction 多功能适配器 如网卡和调制解调器的二和一
 Monitor 显示器(监视器) 
 CDROM CD-ROM 
 Display 显示卡 显示适配器
 Fdc 软盘控制器 
 Hdc 硬盘控制器 
 Mouse 鼠标 
 Ports 端口(COM和LPT) 串口和并口
 Printer 打印机 
 MTD 内存技术驱动程序 PCMCIA内存卡
 Image 图像捕获设备 如摄像头
 nodriver  不需要驱动的设备
 PCMCIA PCMCIA插座 
 SCSIAdapter SCSI控制器 SCSI主机适配器
 Unknown 其他设备 
 Infrared 红外线设备 
 1394 1394 总线控制器 
 GPS 全球定位设备 
 HID 人机接口设备 
 Net 网络适配器 
 NetTrans 网络协议 
 NetClient 网络客户机 
 NetService 网络服务 
 DBC Device Bay Controller 
 USB 通用串行总线控制器 

 

  

 

㈡、[ClassInstall(32)] 节:为设备定义一个新的类别(Class)。主要用于硬件设备的安装。

 

㈢、[Manufacturer] 节:[Manufacturer][Manufacturer Name] 节, 列出此 .INF 文件可辨识的所有硬件设备,并列出了开发该硬件的厂商名称,主要用于硬件设备的安装

 

  在设备驱动程序的 .INF 文件中必须包括[Manufacturer]节与 [Manufacturer Name] 节。对应到本示例(即示例01)中就是[Manufacturer]节和[VM][VM.NT]节,安装新硬件的向导中列出来的厂商名字和设备名称就是来自这两个节。这行语句“%HwMfg%=VM,NT” 的等号右边的名字指明设备制造商是VM,等号左边是厂商的名字,示例01中的的厂商名称是"VM"(在后面讲到的[Strings]节中)。在一个.INF 文件中可以有多个设备制造商的名字,都必须放在[Manufacturer]节中,同时[Manufacturer Name] 节可以列出该厂商的多种设备。

 

㈣、[Manufacturer Name] 节:[Manufacturer Name] 节区含有对要安装的设备的描述,并为要安装的设备指出 [Install] 节区。 [Manufacturer Name] 节语法:


[Manufacturer Name]
device-description=install-section-name,device-id[,compatible-device-id]...


  device-description就是对要安装的设备的描述。install-section-name就是此设备的 [Install] 节区名称, [Manufacturer Name] 节区名称必须已在 [Manufacturer] 节区中被定义。device-id是此设备的硬件标志符,每个厂家的不同的硬件对应着不同的设备标志符。


  对应到示例01中,就是这行语句“%USB\VID_0AC8&PID_0302.DeviceDesc%=VM.USBDCam302.XP,USB\VID_0AC8&PID_301B”等号左边是设备的描述,也就是设备名字是"VIMICRO USB PC Camera",而等号右边的VM.USBDCam302.XP,USB\VID_0AC8&PID_301B是设备标志符,这个标志符是对应到一类的硬件设备,就是USB视频设备,操作系统检测到USB视频设备,安装相应的驱动的时候,就会从设备驱动的安装节即[VM.USBDCam302.XP] 节开始安装驱动。可以看出来此 .INF 文件可以用于通用的USB视频设备"VIMICRO USB PC Camera"的驱动程序的安装(相关信息,也可以从设备管理器里查看)。

 

  普通的安装软件的 .INF 文件中,不包括[Manufacturer][Manufacturer Name] 节,即使包含,也不会执行它们,这2个节仅仅用于硬件的设备驱动中起作用。在下面这个实例(即示例02)中,就不包含他们。

  

 

;示例02 寒夜孤星 moviemk.infWindows Movie Maker 2.1 简体中文版安装

[version]
signature="$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
LayoutFile=layout.inf
[DefaultInstall]
CopyFiles=SetupFiles,LocalizedFiles,SharedFiles,Profiles,Help
AddReg=MediaPadReg
ProfileItems=MovieInstallItems
[DestinationDirs]
SetupFiles=16422,%MEDIAPAD_DIR_LFN%
LocalizedFiles=16422,%MEDIAPAD_DIR_LFN%
SharedFiles=16422,%MEDIAPAD_DIR_LFN%\Shared
Profiles=16422,%MEDIAPAD_DIR_LFN%\Shared\Profiles
Help=16422,%MEDIAPAD_DIR_LFN%\MUI\%LCID%
[SetupFiles]
.\moviemk.exe,,,32
.\WMM2AE.dll,,,32
.\WMM2EXT.dll,,,32
.\WMM2FILT.dll,,,32
.\WMM2FXA.dll,,,32
.\WMM2FXB.dll,,,32
[SetupFiles.Security]
"D:P(A;;GRGX;;;BU)(A;;GA;;;BA)(A;;GA;;;SY)"
[LocalizedFiles]
.\WMM2RES.dll,,,32
.\WMM2ERES.dll,,,32
.\WMM2RES2.dll,,,32
[LocalizedFiles.Security]
"D:P(A;;GRGX;;;BU)(A;;GA;;;BA)(A;;GA;;;SY)"
[SharedFiles]
.\Empty.txt,,,32
.\Filters.xml,,,32
.\news.png,,,32
.\paint.png,,,32
.\Sample1.jpg,,,32
.\Sample2.jpg,,,32
[SharedFiles.Security]
"D:P(A;;GRGX;;;BU)(A;;GA;;;BA)(A;;GA;;;SY)"
[Profiles]
.\Blank.txt,,,32
[Profiles.Security]
"D:P(A;;GRGX;;;BU)(A;;GA;;;BA)(A;;GA;;;SY)"
[Help]
.\moviemk.chm,,,32
[Help.Security]
"D:P(A;;GRGX;;;BU)(A;;GA;;;BA)(A;;GA;;;SY)"
[MediaPadReg]
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{CDD7975E-60F8-41d5-8149-19E51D6F71D0}","ComponentID",,"Windows Movie Maker v2.1"
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{CDD7975E-60F8-41d5-8149-19E51D6F71D0}","IsInstalled",1,01,00,00,00
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{CDD7975E-60F8-41d5-8149-19E51D6F71D0}","Version",,"2,1,4026,0"
…………

Name       = %MEDIAPAD_START_MENU%
CmdLine    = 16422, %MEDIAPAD_DIR_LFN%, moviemk.exe
InfoTip    = "@%16422%\%MEDIAPAD_DIR_LFN%\wmm2res.dll,-63096"
DisplayResource="%16422%\%MEDIAPAD_DIR_LFN%\wmm2res.dll",61446
[Strings]
MEDIAPAD_START_MENU = "Windows Movie Maker"
MEDIAPAD_DIR_LFN = "Movie Maker"
APPS_DESC        = "附件"
LCID             = "0804"

 

㈤、[Install] 节:描述设备驱动程序与硬件设备的实际属性。

 

[install];指向添加的设备接口列表

Copyfiles=Ggdriver.Files.Driver

AddReg=Ggdriver.AddReg

LogConfig=logconfig

DirverVer=19/10/2001

ProfileItems=AB\cd

 

  它也定义了所有 [Install] 节的名称,在此定义的节中包含了安装该设备的信息和命令。默认情况下,会执行 [DefaultInstall] 节,在示例01中,Install操作就会执行[DefaultInstall] 节。 [DefaultInstall] 节中包含指向其他节的指针,该节可用于指定要复制和删除的文件、注册表的更新、 .INF 文件的更新等。

 

  [Install] 节分 [DefaultInstall][OtherInstall] 两类,它们使用相同的格式。 [DefaultInstall] 节节名“DefaultInstall”如前面表格内容所述被显式地在注册表中指定,大小写不敏感。该节也是系统获取INF文件中安装信息的首要入口,当用户右击INF文件选“安装”时该节内容被执行。 [OtherInstall][DefaultInstall] 节遵循相同的语法,但必须被显式地调用,常被用来定义反安装动作。它们均可包括以下种类的可选入口:

 

 

[Install] 节的语法:

[install-section-name]
Copyfiles=file-list-section[,file-list-section]... ;等号右侧是拷贝文件罗列节节名,将文件拷贝到 [DefaultInstall] 节指定的位置,所有的源文件必须在 [SourceDisksFiles] 节中列出。

LogConfig=log-config-section-name ;指定遗留设备的I/O地址,IRQ等配置的详细信息
Renfiles=file-list-section[,file-list-section]... ;重命名文件
Delfiles=file-list-section[,file-list-section]... ;删除文件
UpdateInis=update-ini-section[,update-ini-section]... ;安装过程中INI初始化文件内容
UpdateIniFields=update-inifields-section[,update-inifields-section]... ;安装过程中INI初始化文件值内容
AddReg=add-registry-section[,add-registry-section]... ;增加注册表键或键值
DelReg=del-registry-section[,del-registry-section]... ;删除注册表键或键值
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]... ;用INI文件内容更新注册表
UpdateCfgSys=update-config-section ;更新Config.sys文件内的设置
UpdateAutoBat=update-autoexec-section ;更新AUTOEXEC.BAT文件内的设置

 


  上面的入口并非都必需,如果需要一个入口,则应该在等号右侧指出存在于该INF文件内的索引节名(不用指出节名的一个特例是CopyFiles入口,可使用“@”字符后跟文件名的形式,效果是直接将文件拷贝到 [DefaultInstall] 节所罗列的硬盘目录)。节名需由可打印字符组成,在中文系统平台中,可使用中文字符作为节名,这也是体现INF格式安装本地化的地方,非常直观。每类入口在一个 [Install] 节内只能出现一次,第二次及以后出现的同名重复入口将被忽略。每类入口的等号右侧可罗列多个节名,节名之间以逗号分开,以便列举同一类动作的不同作用对象,如删除多个注册表键、拷贝文件到多个目录路径等。

 

  对应到示例01中,[Install] 节就是[VM.USBDCam302.XP]节,其中要执行复制文件CopyFiles(如:CopyFiles=VM.USBDCam.Files.Ext, VM.CustomPrp.CopyFiles, VM.STI.CopyFiles, VM.XPAPP.CopyFiles, VM.XPTWAIN.CopyFiles, VM.Config.CopyFiles和添加注册表项目AddReg(如:VM.USBDCam.AddReg, VM.CustomPrp.AddReg, VM.WIA.AddReg,  VM.TWAIN.AddReg等操作。


  如果是安装普通的软件的 .INF 文件,可以通过鼠标右键菜单上的“安装”命令来安装,这个时候 .INF 文件必须包括[DefaultInstall]节,也可以包括其他的[Install]节,用RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection [Install] 节的名字,这样类似的命令来安装。

 

  [Install] 节定义了安装程式与硬体驱动需要的资源,以便安装新的驱动程式或者软件。此节中每个条目都有其特定格式与意义,并非每个条目都是必要的。无论是安装驱动程序还是普通的软件,最后都要从某一个[Install] 节开始执行。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Inf文件语法及书写规范
!!!!! 编写INF文件进行文件安装
Windows下INF驱动安装文件内容分析
你的秘密藏不住:深入了解INF文件(1)
inf文件书写格式详细资料
扩展使用.INF文件-制作免安装的绿色软件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服