zoukankan      html  css  js  c++  java
  • INF 右安装驱动程序和卸载

    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%System32IoLogMsg.dll;%SystemRoot%System32driversOsnDSS.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 = "SystemCurrentControlSetServices" ; ; 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 = "systemcurrentcontrolsetcontrolclass{4D36E967-E325-11CE-BFC1-08002BE10318}"

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

    CopyFiles =OsnDSS.Files ;这个是将Osndss.sys Copy windowssystem32driver 下

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

    OsnDSSRegistery = "systemcurrentcontrolsetcontrolclass{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-infinfname.inf

    在Commnd 里输入上面的指令最后的path-to-infinfname.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的话有三种,SystemSecurityApplication。假设是System的话能够默认不写的,假设Eventlog name Servcie下的名字是一样的话也能够不写的。这里我试过多次。Service以下的子键Osndds确实能卸载掉的,可是Eventlog里的无论是默认还是写明了SystemOsndss都无法卸载掉。至今没找到为什么;

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

    RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultUninstall 132 path-to-uninstall-dirinfname.inf

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

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

  • 相关阅读:
    Luogu 2254 [NOI2005]瑰丽华尔兹
    Luogu 3168 [CQOI2015]任务查询系统
    Luogu U15118 萨塔尼亚的期末考试(fail)
    POJ 2778 DNA Sequence AC自动机 + 矩阵快速幂
    HDU 2457 DNA repair AC自动机 + dp
    POJ 3522 Slim Span 暴力枚举 + 并查集
    POJ 2955 Brackets 区间dp
    hdu 2604 Queuing dp找规律 然后矩阵快速幂。坑!!
    UESTC
    java & SQL
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4648312.html
Copyright © 2011-2022 走看看