最近有个产品,需要使用winpcap提供的网络监测功能,生成的exe安装包里面需要静默安装上不带有界面的winpcap所有功能文件。使用的安装包制作工具是:Advanced Installer,使用的winpcap是4.1版本。
首先我们需要知道安装需要的文件:Packet.dll,WanPacket.dll,wpcap.dll,pthreadVC.dll,npf.sys。他们所在的位置也需要搞清楚,如果是手动拷贝,则需要将文件Packet.dll,WanPacket.dll,wpcap.dll,pthreadVC.dll复制到system32中,将npf.sys复制到system32\drivers中。npf是我们要安装的一个驱动服务,安装这个服务,我们需要使用sc.exe的处理:sc create npf binpath= system32\drivers\npf.sys type= kernel start= demand。同时卸载方法是:先停止驱动npf(sc stop npf),再删除驱动(sc delete npf),最后删除上文提到的5个文件。
下面我们来解析一下安装包的制作过程:
1.为了支持多个操作系统,对多系统下安装winpcap4.1版本,找到对应的以上几个DLL文件,并分别拷贝到设定好的分类目录。使用Advanced Installer打开需要制作的setup.aip文件,点开Deployment/Organization,对这些DLL文件进行分系统存储。而npf.sys服务文件也需要根据不同的操作系统,存储在对应的System32/drivers/npf.sys下。
2.我们把npf服务写入注册表文件,新建一个文本文件为wpcap.inf,内容写:<