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卸不掉后悔
版權聲明:本文博客原創文章。博客,未經同意,不得轉載。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

