window平台下驱动程序安装/软件分发inf文件学习

INF文件是通过win平台的驱动安装(软件分发)的系统入口调用,解析文件进行驱动(软件)安装与发布

文件具体格式:

[section] (节名)

entry=value[,value] (项)


说明:

 INF文件是一个文本文件,由许多按层次结构排列的节组成,他们以方括号中的节名称开始,如[Version]、[Manufacturer]等,后面是所含有的各个项,如Signature、DriverVer等。

其中,“entry”标示项名称,“value”标示该想的取值。节名和项名称都不区分大小写,且对于Windows 98,其必须小于28个字符;对于Windows 2000,其长度的最大值为255个字节。

下表是INF文件中常用的节。

INF文件中常用的节

说明

Version

INF文件的开始(核心节必须包含)

SourceDisksNames

指明去的那个程序所在的磁盘或CD-ROM

SourceDisksFiles

指明驱动程序的文件名

Destination

指明INF文件和驱动程序的目标文件

Manufacturer

指明供应商及其对应Models节的名称[驱动程序才需要]

Models

指明Install/DDInstall节的名称、设备的硬件ID等信息[驱动程序才需要]

Install(Windows 98)

Install(Windows 2000)

指明需复制的文件、想注册表中添加的内容等信息[入口]

DDInstall.Services

仅适用于Windows 2000

指明驱动程序安装的详细信息

String

指明一系列字符串

1Version节

       Version节通常作为INF文件的开始,下表列出了其包含的各项。所有INF文件都必须含有Version节及其Signature项

Version节中的各项

说明

Signature

指明驱动程序的签名,其取值为:$Windows NT$、$Windows 95$、$Chicago$,必须

Class

指明驱动程序所属的类别,可选

ClassGuid

指明设备类的GUID,其格式为:{nnnnnnnn-nnnn-nnnn-nnnnnnnnnnnn},系统中已经定义,可选

Provider

指明该INF文件的供应商,可选

LayoutFile

仅由操作系统内部提供的INF文件使用[一般只用于系统自带的INF文件。用于指定源盘和文件路径等信息],可选

CatalogFile

指明数字签名文件的文件名,其扩展名为.cat,可选

DriverVer

指明驱动程序的版本信息,其格式为:mm/dd/yyyy[,x.y.v.z],可选

注:①n代表一个16进制数

下面对主要的各项进行详细介绍。

①.Signature项:指明驱动程序的签名。对于Windows 98和Windows 2000下的USB设备驱动程序,该项的取值通常为“$Chicago$”。

"$CHICAGO$" 表明这个inf文件可以用于windows 95以后的所有平台上,目前来说就是win98,winme,winnt4,win2k,winxp,win2k3。

"$Windows 95$" 表明这个inf文件可以用于windows 95以后的Win9x平台上,目前来说就是win98,winme。

"$Windows NT$" 表明这个inf文件可以用于WindowsNT系列的平台上,包括winnt4,win2k,winxp,win2k3。WIN9x系列的操作系统的SetupAPI将会拒绝执行这种类型的inf文件。


②.Class和ClassGuid项:指明驱动程序所属的设备类别及其GUID,其取值情况见下表。

常用设备类别及其GUID

Class

ClassGuid

说明

1394

6BDD1FC1-810F-11D0-BEC7-08002BE2092F

1394主控制器

CDROM

4D36E965-E325-11CE-BFC1-08002BE10318

CD-ROM驱动器

DiskDrive

4D36E967-E325-11CE-BFC1-08002BE10318

磁盘驱动器

Display

4D36E968-E325-11CE-BFC1-08002BE10318

显示适配器

FDC

4D36E969-E325-11CE-BFC1-08002BE10318

软盘驱动器

HDC

4D36E96A-E325-11CE-BFC1-08002BE10318

硬盘控制器

HIDClass

745a17a0-74d3-11d0-b6fe-00a0c90f57da

人机接口设备

Keyboard

4D36E96B-E325-11CE-BFC1-08002BE10318

键盘

Modem

4d36e96c-e325-11ce-bfc1-08002be10318

调制解调器

Monitor

4d36e96e-e325-11ce-bfc1-08002be10318

监视器

Mouse

4d36e96f-e325-11ce-bfc1-08002be10318

鼠标

Net

4d36e972-e325-11ce-bfc1-08002be10318

网络适配器

Ports

4d36e978-e325-11ce-bfc1-08002be10318

端口(COM&LPT)

Printer

4d36e979-e325-11ce-bfc1-08002be10318

打印机

System

4d36e97d-e325-11ce-bfc1-08002be10318

系统设备

TapeDrive

6D807884-7D21-11CF-801C-08002BE10318

磁带驱动器

USB

36FC9E60-C465-11CF-8056-444553540000

USB

③.DriverVer项:指明驱动程序的版本信息。其“mm/dd/yyyy”代表月/日/年;“x.y.v.z”代表驱动程序的版本号,它是可选的。


2.SourceDiskNames节

SourceDiskNames节指明设备驱动程序所在的磁盘或CD-ROM(如果是软件发布包则只需要描述接口),其各项的格式如下:

diskid=disk-description,disk-label,disk-serial-number   (Windows 98)

diskid=disk-description[,[tagfile][,unused,path]]  (Windows 2000)

其中,“disked”指出磁盘驱动器的编号,它是正整型数,通常从1开始,且不能重复;“disk-description”表示磁盘的描述信息,他通常为一个字符串。

对于Windows 98,“disk-label”指出磁盘的卷标;“disk-serial-numbe”指出磁盘的序列号。

对于Windows 2000,“tagfile”指出磁盘标签文件的文件名;“unused”保留未用;“path”指出驱动程序所在的路径;“[ ]”表示可选参数。

eg:

1="Codec4WMP Files","Code4WMP.cab",,"i386"


3.SourceDiskFiles节

SourceDiskFiles节指明设备驱动程序的文件名(软件发布包文件名),其各项格式如下:

filename=diskid[,subdir] (Windows 98)

filename=diskid[,[,subdir][,size]]   (Windows 2000)

其中

“filename”指出驱动程序的文件名

“diskid”指出磁盘驱动器的编号

“subdir”指出该文件在磁盘上的路径

“size”指出该文件未经压缩时的大小,以字节为单位。

针对软件发布包可以只指定diskid即可

eg:

"Code4WMP.cab"=1


4.DestinationDirs节

 DestinationDirs节指明INF文件和设备驱动程序的目标目录。

当INF文件使用CopyFiles、DelFiles、RenFiles指令时,则必须包含该节。其各项的格式如下:

DefaultDestDir=dirid[,subdir]

File-list-section=dirid[,subdir]

其中

“DefaultDestDir”是一个项名称,代表文件复制、删除、重命名操作的缺省的目标目录;“file-list-section”指出CopyFiles、DelFiles、RenFiles指令所引用的节;“dirid”指出目标目录值,见下表

“subdir”指出dirid目录下的子目录


-1至 32767及65535的数字为系统已定义的逻辑磁盘标


DestinationDirs节中的常用dirid

具体详细信息

%10% Windows C:\Windows 
%11% System32 C:\Windows\system32 
%12% Drivers C:\Windows\system32\drivers 
%17% inf C:\Windows\inf 
%18% Help C:\Windows\Help 
%20% Fonts C:\Windows\Fonts 
%21% Viewers C:\Windows\system32\viewers 
%23% Color C:\Windows\system32\spool\drivers\color 
%24% Apps C:\ 
%25% Shared C:\Windows 
%30% Boot C:\ 
%50% System16 C:\Windows\system 
%51% Spool C:\Windows\system32\spool 
%52% Spooldrivers C:\Windows\system32\spool\drivers\w32x86 
%53% Userprofile C:\Documents and Settings\username 
%54% Loader C:\ 
%55% Printprocessor C:\Windows\system32\spool\Prtprocs\w32x86 
%16406% All Users\Start Menu C:\Documents and Settings\All Users\Start Menu 
%16407% All Users\Start Menu\Programs C:\Documents and Settings\All Users\Start Menu\Programs 
%16408% All Users\Start Menu\Programs\Startup C:\Documents and Settings\All Users\Start Menu\Programs\Startup 
%16409% All Users\Desktop C:\Documents and Settings\All Users\Desktop 
%16

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值