概述
不说废话,先把自己写的例子放上来。
[Version]
Signature="$ CHICAGO $"
[SourceDisksNames]
1=%Dll%,Dll.cab,,/Dll
[SourceDisksFiles]
mxxml4.dll=1
msxml 4a .dll=1
msxml4r.dll=1
[DestinationDirs]
DefaultDestDir = 11
[DefaultInstall]
CopyFiles = @mxxml4.dll,@msxml 4a .dll,@msxml4r.dll
RegisterDlls=mxxml4Register
[mxxml4Register]
11,,mxxml4.dll,1
[Strings]
DllInstall="Dll安装盘"
下面进行逐条解释
[Version]
Signature="$ CHICAGO $"
规定该inf文件在什么操作系统下适用。有$Windows NT$, $Windows 95$, $Chicago$三个可选值。前两个不言自明,第三个$Chicago$说明适用于所有Windows操作系统。没什么特殊要求就用$Chicago$吧。
[SourceDisksFiles]
mxxml4.dll=1
msxml 4a .dll=1
msxml4r.dll=1
跳过前面一节[SourceDisksNames]是因为我觉得先讲这一节比较合适。
很明显,你也知道是这里是把安装需要的源文件列出来。可以看到上面只列出了一些文件名,没有给出明显的路径。嗯,没错,那些数字就代表了路径。下面我们就来看一下怎么定义路径。
[SourceDisksNames]
1=%DllInstall%,Dll.cab,,/Dll
2=”安装路径 2”
看起来有点复杂。先看第一条,等号后面先是%DllInstall%,这里的DllInstall用百分号括起来表示它是一个预定义字符串。在后面的[Strings]一节中你会看到它所代表的字符串。或者你也可以像第二条那样,把要用到的字符串直接用引号括起来。如果安装的时候找不到指定的文件,系统就会显示如下的对话框,可以看见这里显示的“DLL安装盘”就是在上面所定义的。
接下来的Dll.cab表示源文件可能存在于Dll.cab中。这里说“可能”是说系统会先在指定的路径内进行寻找,找不到的话再到这里指定的cab包中寻找。
最后一个很明显是路径名。注意这里是相对路径,系统把inf文件所在的目录作为主目录。这样源文件的路径就很清楚了,假设inf文件在E:/,那么源文件就应该放在E:/Dll里。当然如果你不定义的话默认就是和inf文件在同一目录。
[DestinationDirs]
DefaultDestDir = 11
这一节定义了安装文件的目的路径,可以看到这里又使用了数字。有所不同的是,这里使用的数字是由系统定义的,这里的11表示system32。要知道其它目录,请查阅MSDN《INF DestinationDirs Section》一节。
[DefaultInstall]
CopyFiles = @mxxml4.dll,@msxml 4a .dll,@msxml4r.dll
RegisterDlls=mxxml4Register
CopyFiles表示会把其后所列的文件进行拷贝(源目录和目标目录都由前面定义了)。
RegisterDlls表示会对Dll文件进行注册。可以看见等号后面的“mxxml4Register”是一小节的名称,具体的注册行为都在那一节中进行定义。
[mxxml4Register]
11,,mxxml4.dll,1
这里对文件的注册进行定义。一开始就是文件路径(这里应该和前面定义的目的路径一致),同样11表示system32。然后是子目录,这里是空的,需要的话就填上。接下来就是文件名。最后一个参数表示对控件是注册(Register)还是安装(Install)。注册的话就是0x00000001,安装的话就是0x00000002,简写成1或者2也可以。一般都是1。
[Strings]
DllInstall="Dll安装盘"
字符串定义,我就不多说废话了。
最后要说的是,本文只是对使用inf文件进行文件安装作一个粗略的介绍。上面的例子只能应付最简单的情况,有不少选项都让我略过了。如果想详细了解inf文件的使用,请参阅MSDN《Summary of INF Sections》一节。
最后
以上就是火星上小刺猬为你收集整理的使用INF安装文件的全部内容,希望文章能够帮你解决使用INF安装文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复