INF的功能 1 复制文件、删除文件、或重新命名文件。 2 新增或删除注册表(Registry)中的项目。 3 修改重要的系统设置文件(如 Autoexec.bat、Config.sys、.INI 等) INF的规则 INF是纯文本文件,它是分节的,这点和INI文件类似,每节以"[]"扩起来,每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都由=分开,如a="b"。如果每一个条目的等号后有多个值,则每一个值之间用","号分隔开。INF对大小写不敏感,行注释语句命令是";",类似VB里的'。如果一行写不下,使用"/"来换行。 INF的运行 .INF文件是由Windows的SetupAPI解释执行的脚本文件,它的运行过程很简单,是一种线性的执行,线性的意思就是.INF文件的运行过程不存在分支语句,也就是没有条件语句,一旦开始执行,就是沿着固定的路线运行。它的运行是按照节为单位来执行的,从某一个[Install]节开始执行,从上到下执行该节中的条目,如果该条目是一个节,那么就一条条执行子节中的条目,如此递归执行。在WINDOW上运行只要右击这个文件,点击安装即可。 INF的语法结构 ;指定版本和签名节 [VERSION] ;系统根据Signuture看是不是适合当前版本,如果适合的话就执行,否则不执行,当然强制安装是可以的 ;用于WIN9X Signature="$CHICAGO$" ;WINNT+ ;Signature="$Windows NT$" ;指定安装文件布局,该行是可选的,如果没有提供布局信息文件,则在INF文件内必须包含[SourceDisksNames]和[SourceDisksFiles]节 LayoutFile=filename.inf [SourceDisksNames]节 [SourceDisksNames]节罗列源文件所在盘符序列码、盘描述符、盘卷标号和盘序列号。 [SourceDisksNames]节内语句的语法为: disk-ordinal=“disk-description”,disk-label,disk-serial-number 其中disk-ordinal为必选项,是盘符序列码,标识一个源盘,具有惟一性,一般可设置为从1开始递增的整数,0不是一个有效的盘符序列码。当存在多个源盘时,盘符序列码之间不能重复。 disk-description为必选项,是盘描述符,用双引号括起的字符串或字符串宏描述盘的内容或目的。安装引擎将该字符串显示在对话框内以提示用户。 disk-label为源盘的卷标识。 disk-serial-number未使用,但必须被设置为0。 [SourceDisksFiles]节 [SourceDisksFiles]节指定安装时使用的源文件和盘符序列码、盘描述符。 [SourceDisksFiles]节内语句的语法为: file-name=disk-number[,subdir] [,file-size] 其中file-name为必选项,是源盘上文件的名称。 disk-number是包含file-name指定文件所在源盘的盘符序列码,该盘符序列码需在[SourceDisksNames]节中列出,并大于或等于1。 Subdir为可选项,指定文件所在源盘的子目录,如省略则源盘为缺省安装路径。 file-size为可选项,表明文件的大小,以字节为单位。 [DestinationDirs] ;指定CopyFiles、RenFiles或DelFiles入口的缺省操作目录 ;语法file-list-section=LDID,[Subdir] ;LDID列表如下: ;01 ;current directory ;04 ;backup directory ;10 ;windows directory ;11 ;system dir ;12 ;iosubsys ;13 ;command ;14 ;control panel directory ;15 ;printers directory ;16 ;workgrou dir ;17 ;inf dir ;18 ;help dir ;19 ;administration dir ;20 ;fonts ;21 ;viewers ;22 ;vmm32 ;23 ;color dir ;25 ;shared dir ;26 ;winboot ;28 ;host winboot ;30 ;root of boot drive ;31 ;root of host drive of a virtual boot drive ;32 ;old windows dir if exists ;以下例子为安装到window/web目录下 ;DefaultDestDir=10,"web" ;[Install]节提供了一个INF文件安装过程的总览,它识别文件内其他包含安装信息节的详细动作,是Windows内建安装函数识别安装过程和内容的真正入口 [Install] ;[Install]节分[DefaultInstall]和[OtherInstall]两类 ;[DefaultInstall]节节名DefaultInstall如前面表格内容所述被显式地在注册表中指定。 ;该节也是系统获取INF文件中安装信息的首要入口,当用户右击INF文件选“安装”时该节内容被执行。 ;[OtherInstall]与[DefaultInstall]节遵循相同的语法,但必须被显式地调用,常被用来定义反安装动作 ;缺省安装节 [DefaultInstall] ;指明添加注册表的子节,等号后面的为自定义节名,例子见[add]节 ADDREG=add ;指明要删除的注册表子节,等号后面的为自定义节名 DELREG=del ;指明要要复制的文件子节,用于安装,Copyfiles命令可以替换系统正在访问的文件。这些功能通过普通的del和copy命令都无法实现 CopyFiles=cfile ;指明要要删除的文件子节,用于反安装,多个节以逗号隔开,该命令如果发现要删除的文件被锁定,就会把文件放到系统删除队列中排队 ;等系统重启动的时候,该文件就自动被删除了 DelFiles=删除文件段 ;[删除文件段] ;文件名列表 ;例子: ;a.exe ;b.sys ;重命名文件段 ;RenFiles=重命名文件段 ;[重命名文件段] ;语法: ;[file-list-section] ;new-file-name,old-file-name ;file1,file2 ;修改文件名file1为file2 ;更新INI文件段内容子节 UpdateInis = 更新INI文件段 ;[更新INI文件段] ;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。flags 是可选操作标记 ;例子 ;%01%/wincmd.ini, Configuration,,"InstallDir=%01%" ;%01%/wincmd.ini, Configuration,,"Mainmenu=%01%/LANGUAGE/TCExtMenu.mnu" ;更新ini文件值内容 updateinifield = ;ini文件更新注册表 ini2reg=aa.ini ;更新config.sys内容 updatecfgsys=更新autoexec.bat段 [更新autoexec.bat段] ;更新autoexec.bat内容 updateautobat=更新autoexec.bat段 [更新autoexec.bat段] ;定义资源节,像资源文件,调用时使用%REG_SZ%就代表了0x00000000 [Strings] REG_SZ=0x00000000 REG_BINARY=0x00000001 REG_DWORD=0x00010001 ;自定义添加注册表项的节 [add] ;注意格式:HKEY(根键缩写),Subkey(子键),Valuename(键值名),Type(键值类型),Value(键值) ;HKCU -> HKEY_CURRENT_USER ;HKCR -> HKEY_CLASSES_ROOT ;HKLM -> HKEY_LOCAL_MACHINE ;HKU -> HKEY_USERS ;HKU -> HKEY_USERS ;HKCC -> HKEY_CURRENT_CONFIG ;HKDD -> HKEY_DYN_DATA ;解禁注册表编辑器 HKCU,Software/Microsoft/Windows/CurrentVersion/Policies/System,DisableRegistryTools,1,0 ;解禁IE的Internet选项 HKCU,Software/Policies/Microsoft/Internet Explorer/Restrictions,NoBrowserOptions,1,0 ;解禁IE的Internet选项里面的各个具体选项 HKCU,Software/Policies/Microsoft/Internet Explorer/Restrictions,NoBrowserOptions,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Settings,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,HomePage,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,GeneralTab,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Cache,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,History,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Colors,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Fonts,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Languages,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Accessibility,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,SecurityTab,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,SecChangeSettings,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,SecAddSites,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,ContentTab,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Ratings,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Certificates,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,CertifPers,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,CertifSite,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,CertifPub,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,FormSuggest,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,FormSuggest Passwords,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Wallet,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Profiles,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,ConnectionsTab,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Connection Wizard,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Connwiz Admin Lock,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Connection Settings,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Proxy,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,AutoConfig,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,ProgramsTab,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,ResetWebSettings,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Check_If_Default,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,AdvancedTab,1,0 HKCU,Software/Policies/Microsoft/Internet Explorer/Control Panel,Advanced,1,0 ;解禁下载(可单独使用) HKCU,Software/Microsoft/Windows/CurrentVersion/Internet Settings/Zones/3,1803,1,0 ;自动修改IE标题栏文字、主页、搜索页等等 HKCU,Software/Microsoft/Internet Explorer/Main,Window Title,0,"Internet Explorer" HKCU,Software/Microsoft/Internet Explorer/Main,Start Page,0,"http://www." HKCU,Software/Microsoft/Internet Explorer/Main,Search Page,0,"http://www." HKCU,Software/Microsoft/Internet Explorer/Main,Default_Page_URL,0,"http://www." HKLM,SOFTWARE/Microsoft/Internet Explorer/Main,Default_Search_URL,0,"http://www." HKLM,SOFTWARE/Microsoft/Internet Explorer/Main,Search Page,0,"http://www." HKLM,SOFTWARE/Microsoft/Internet Explorer/Main,Start Page,0,"http://www." HKLM,SOFTWARE/Microsoft/Internet Explorer/Main,Default_Page_URL,0,"http://www." HKLM,SOFTWARE/Microsoft/Internet Explorer/Main,Default_Page_URL,0,"http://www." [dfile] ;该节定义了将要删除的文件列表,filename后面的1是一个标志,指明如果文件当前无法删除,就等到系统重启动后删除。 ;格式:filename,,,1 ;例子: a.exe,,,1 |
|