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 右安装驱动程序和卸载的更多相关文章

  1. INF 右键安装驱动以及卸载

    INF 右键安装驱动以及卸载 之前写过一篇文章是关于INF文件详解的,大家可以参看INF文件详解,这次写的是关于INF右键安装,这样比较方便.卸载的话也是一句话,可以大大减少安装时间: 先将INF文件 ...

  2. 苹果mac电脑中brew的安装使用及卸载详细教程

    brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便 brew类似ubuntu系统下的apt-get的功能 安装br ...

  3. Inno Setup入门(十四)——替换安装程序和卸载程序的图标

    通常Inno生成的安装文件的图标是一个光盘和显示器,如下图.同时,程序安装好之后,在安装目录下的卸载程序的图标也是一样的,其实我们也可以自己修改. 首先生成的安装文件图标.这个比较简单,只需要在Set ...

  4. Oracle客户端、服务的安装及干净卸载Oracle

    软件下载地址: 链接:https://pan.baidu.com/s/1Sluf890eNuaV8muL55eO2w 提取码:oez7 服务端因文件过大,所以分了两个文件压缩包,下载后将内容解压后放置 ...

  5. Ubuntu下安装软件、卸载

    Ubuntu下安装软件.卸载 一般的安装程序有三种: .deb和.rpm这2中安装文件 .boudle这是二进制安装文件 .tar.gz文件是压缩包,与.rar和.zip压缩包一样,安装此类文件需要先 ...

  6. Oracle的静默安装 升级和卸载 参考规范

    Oracle的静默安装 升级和卸载 参考规范 20180912 V1 一.Oracle的安装 Oracle产品的三种安装方式分别为: 1.图形化(Java向导)安装引导 2.使用应答文件静默安装 3. ...

  7. c# windows server安装启动与卸载

    使用installutil.exe安装卸载服务时,由于需要指向服务的全路径,由于生成目录往往不是服务发布的最终目录,很不便利,下面介绍两种方式方便操作: 方式一: 项目中加入install.bat与u ...

  8. Android静默安装和静默卸载代码

    静默顾名思义就是静静的默默地,静默安装和静默卸载的意思也就是说在后台默默地安装和卸载. 最近的一个app应用分发的项目中app下载的模块,下载完成之后,用户可以通过这个app进行安装,为了提高用户的体 ...

  9. (转)Inno Setup入门(十四)——替换安装程序和卸载程序的图标

    本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250937 通常Inno生成的安装文件的图标是一个光盘和显示器,如 ...

随机推荐

  1. Windows Phone 的控件倾斜效果

    原文:Windows Phone 的控件倾斜效果 Windows Phone 7的系统设置里,按钮都有一个点击倾斜的效果,但自己添加的控件就没有.但微软提供了这个效果的代码:TiltEffect MS ...

  2. eclipse在maven项目交付svn忽略简介

    文章来源:http://blog.csdn.net/chaijunkun/article/details/34805385,转载请注明. 不时因为它将有关鲍恩梳理,它会做出相应的内容不变.文. ecl ...

  3. DataGridView绑定数据源

    给DataGridView绑定数据源比較简单,方法主要有两种: 1.直接在控件属性中绑定数据源,这样的方法最简单,但它是直接连接数据库的,这样就和传DataTable的后果差点儿相同了,所以还是尽量避 ...

  4. 分布式服务框架 dubbo/dubbox 入门示例(转)

    dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http://dubbo.io/User+Guide-zh.htm ...

  5. 【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测CLR性能

    原文:[原创]构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)-托管资源优化-监测CLR性能 构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测C ...

  6. 使用Python做科学计算初探(转)

    今天在搞定Django框架的blog搭建后,尝试一下python的科学计算能力. python的科学计算有三剑客:numpy,scipy,matplotlib. numpy负责数值计算,矩阵操作等: ...

  7. 原生js判断css3动画过度(transition)结束 transitionend事件 以及关键帧keyframes动画结束(animation)回调函数 animationEnd 以及 css 过渡 transition无效

      上图的 demo 主要讲的 是 css transition的过渡回调函数transitionend事件: css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画 ...

  8. 搜索引擎排名不友好的五个地点-SEO

    搜索引擎(百度/谷歌/雅虎)排名不友好的五个地点 别的站点,推断标准和考核得分点是不 一样的,避免对百度排名不友好的五种站点操作 你的站点是否在这五种站点里,决定你的站点能否获得排 名. 1.有没有同 ...

  9. spring mvc中实现csrf安全防御简记

    1.csrf是什么 csrf全称是Cross-site request forgery,http://en.wikipedia.org/wiki/Csrf 危害:使受害用户在不经意间执行了不是用户意愿 ...

  10. NGUI 3.5课程(五岁以下儿童)button-图片切换

    然后,我们去了一个样本,做一个button画面切换. 特征,像球员"开始"和"暂停". 写TestButton.cs脚本: using UnityEngine; ...