安装内幕, 呵呵, 似乎很高深的样子. 其实很简单。
这两天公司的同事提了一个需求,要搞清楚winpcap软件安装真正做了什么,因为我们不想要winpcap的安装界面。在用google在网上搜了一番之后,发现原来安装软件原来这么简单,软件安装包的制作也非常简单。
先看看winpcap的安装到底做了什么,其实在window上安装软件无外乎做两件事:拷贝一系列文件到相应的目录下;修改一下注册表的相关信息。 winpcap安装也有这个过程,它将packet.dll、pthreadVC.dll、wanpacket.dll、wpcap.dll拷贝到windows/system32/目录下,同时将驱动文件npf.sys拷贝到windows/systems/drivers/目录下。拷贝完文件接下来就是要改注册表的相关信息了,因为winpcap是一个抓包软件,所以它要向系统注册一下抓包驱动的服务。这里涉及到注册表的一些操作:
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=NPF,,winpcap_svr
[winpcap_svr]
DisplayName=Netgroup Packet Filter
ServiceType=0x1
StartType=3
ErrorControl=1
ServiceBinary=%12%\npf.sys
这是wpcap.inf文件。
接下来是一个批处理文件wpcap.bat,完成整个安装过程:
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %CD%\wpcap.inf
if /i %CD%==%SYSTEMROOT%\system32 goto COPYDRV
copy packet.dll %SYSTEMROOT%\system32\
copy wpcap.dll %SYSTEMROOT%\system32\
copy wanpacket.dll %SYSTEMROOT%\system32\
copy pthreadVC.dll %SYSTEMROOT%\system32\
 
:COPYDRV
if /i %CD%==%SYSTEMROOT%\system32\drivers goto END
copy npf.sys %SYSTEMROOT%\system32\drivers\ 
:END
执行这个批处理文件就可以完成winpcap软件的安装过程了。
而制作.exe的安装包,实际上就是用winrar将上述所有的文件打包成.exe的自解压缩文件,然后把解压后执行的文件名设置成wpcap.bat即可。 


Trackback: [url]http://tb.blog.csdn.net/TrackBack.aspx?PostId=1477555[/url]