INF 右安装驱动程序和卸载

系统 2902 0

INF  右键安装驱动以及卸载

之前写过一篇文章是关于 INF 文件具体解释的。大家能够參看 INF 文件具体解释 ,这次写的是关于 INF 右键安装,这样比較方便。

卸载的话也是一句话。能够大大降低安装时间;

先将INF文件内容贴上来:

      

; OsnDf . inf ; ; Installation file (. inf ) for Infocore Corporation OsnDiskCopy driver . ; ; ( c ) Copyright 2007 - 2008 Infocore Corporation ; [ Version ] Signature = "$Windows NT$" Provider =% StorTrust % ClassGUID ={ 4D36E967 - E325 - 11CE - BFC1 - 08002BE10318 } Class = DiskDrive DriverVer = 01 / 16 / 2001 , 4.0 . 0 [ DestinationDirs ] DefaultDestDir = 12 [ DefaultInstall ] CopyFiles = OsnDSS . Files OptionDesc =% StorTrust . DeviceDesc % AddReg = OsnDSS . AddReg [ DefaultInstall . Services ] AddService = OsnDSS ,, OsnDSS_Service_Inst , OsnDSS_EventLog_Install [ DefaultUninstall ] DelFiles = OsnDSS . Files DelReg = OsnDSS . DelRegistry [ DefaultUninstall . Services ] DelService = OsnDSS , 0x00000200 , System , [ OsnDSS . AddReg ] ; append this service to existing REG_MULTI_SZ list , if any HKLM ,% OsnDSSRegistery %, "UpperFilters" , 0x00010008 , "OsnDSS" [ OsnDSS . DelRegistry ] HKLM ,% OsnDSSRegistery %, "UpperFilters" , 0x00018002 , "OsnDSS" ; ; File sections ; [ OsnDSS . Files ] OsnDSS . sys [ OsnDSS_Service_Inst ] DisplayName = % OsnDSS . SvcDesc % ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 0 ; SERVICE_BOOT_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = % 12 % \OsnDSS . sys [ OsnDSS_EventLog_Install ] AddReg = OsnDSSEventLogInstall [ OsnDSSEventLogInstall ] HKR ,, EventMessageFile , 0x00020000 , "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\OsnDSS.sys" HKR ,, TypesSupported , 0x00010001 , 7 ; Source file information ; [ SourceDisksNames ] 1 = % DiskId1 %,,, "" [ SourceDisksFiles ] OsnDSS . sys = 1 ,, [ Strings ] ; ; Non - Localizable Strings ; REG_SZ = 0x00000000 REG_MULTI_SZ = 0x00010000 REG_EXPAND_SZ = 0x00020000 REG_BINARY = 0x00000001 REG_DWORD = 0x00010001 SERVICEROOT = "System\CurrentControlSet\Services" ; ; Localizable Strings ; ClassName = "DiskDrive" StorTrust = "Enterprise Information Management Inc." DiskId1 = "EIM Installation Disk #1" StorTrust . DeviceDesc = "EIM Disk Shadow Copy Driver" OsnDSS . SvcDesc = "EIM Disk Shadow Copy Driver" OsnDSSRegistery = "system\currentcontrolset\control\class\{4D36E967-E325-11CE-BFC1-08002BE10318}"

右键安装,最主要是须要有两个域 [DefaultInstall]和 [DefaultInstall.Services],仅仅有有这两个域,右键安装的时候才干找到入口;先来讲讲 [DefaultInstall]这个域。

CopyFiles =OsnDSS.Files ;这个是将Osndss.sys Copy windows\system32\driver 下

OptionDesc =%StorTrust.DeviceDesc% ;这个是描写叙述下一个驱动是什么,随便填
AddReg = OsnDSS.AddReg ;由于我写的是Disk过滤驱动。所以须要加到注冊表UpperFilters键值以下

OsnDSSRegistery = "system\currentcontrolset\control\class\{4D36E967-E325-11CE-BFC1-08002BE10318}" ;当中后面一串数字是表示Disk设备在windows系统里能够识别的ClassGuid。我们的Osndss是 append 在UpperFilters已有的PartMgr后面。这样系统启动的时候会去哪里找到Osndss也须要启动。然后回去找Services里相应的OsnDSS注冊表,找到其相关信息。


再来讲讲[DefaultInstall.Services]:

AddService = OsnDSS,, OsnDSS_Service_Inst, OsnDSS_EventLog_Install ;这个在Services加入注冊表名为OsnDSS。子域 OsnDSS_Service_Inst(这个域内的内容在INF文件具体里有讲。这里就不累赘了), OsnDSS_EventLog_Install 这个是注冊一下事件日志。


这样总结一下载入完毕了什么:1.Copy sys文件;2在Upperfilters 加入Osndss。3写入注冊表services名为Osndss;4写入注冊表EventLog-》System里Osndss的注冊表;这样我们就能够将驱动sys文件和Inf文件放在同一个文件夹(最好不好放桌面。随便找个卷都行,桌面好像中文系统的话不识别)然后右键Inf安装就能够了,安装完之后会有提示重新启动生效的。

另一种安装方法就是:

      

        
          RUNDLL32
        
        
          .
        
        
          EXE SETUPAPI
        
        
          .
        
        
          DLL
        
        
          ,
        
        
          InstallHinfSection
        
        
        
        
          DefaultInstall
        
        
        
        
          132
        
        
           path
        
        
          -
        
        
          to
        
        
          -
        
        
          inf\infname
        
        
          .
        
        
          inf
        
      

在Commnd 里输入上面的指令最后的path-to-inf\infname.inf替换为你Inf的路径;



接下来讲下卸载,我们安装什么。理论上我们就应该要卸载什么的。

当然微软本身可能就有不少软件,安装之后,在卸载的时候有不少东西不清理掉的,所以系统用久了就会认为不怎么好使了。

卸载域:

[DefaultUninstall]
DelFiles =OsnDSS.Files ;将Drivers 以下的Osndss.sy删掉;
DelReg =OsnDSS.DelRegistry ;删除Append在Upperfilters里的OsnDSS


[DefaultUninstall.Services]
DelService =OsnDSS,0x00000200,, ;卸载Service以下的OsnDSS 整个子键,后面的两个參数[Eventlog type][eventlogname], EventLog type的话有三种, System Security Application 。假设是 System 的话能够默认不写的,假设 Eventlog name  Servcie 下的名字是一样的话也能够不写的。这里我试过多次。 Service 以下的子键 Osndds 确实能卸载掉的,可是 Eventlog 里的无论是默认还是写明了 System Osndss 都无法卸载掉。至今没找到为什么;

卸载的时候就不能用右键了,由于压根就没这个选项。仅仅能用 Command

      

        
          RUNDLL32
        
        
          .
        
        
          EXE SETUPAPI
        
        
          .
        
        
          DLL
        
        
          ,
        
        
          InstallHinfSection
        
        
        
        
          DefaultUninstall
        
        
        
        
          132
        
        
           path
        
        
          -
        
        
          to
        
        
          -
        
        
          uninstall
        
        
          -
        
        
          dir\infname
        
        
          .
        
        
          inf
        
      

这才放下心,虽然有一个遗留Eventlog卸不掉后悔

版权声明:本文博客原创文章。博客,未经同意,不得转载。

INF 右安装驱动程序和卸载


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论