(NDIS中间层驱动如何制作安装包2.doc
文本预览下载声明
NDIS中间层驱动如何制作安装包
刚接触驱动开发的时候,我们在安装passthru的时候,基本都是手动安装驱动。现在我来讲讲如何制作安装包来自动安装passthru驱动程序。
安装包制作工具:
首先我们必须先安装两个软件,NSIS和HM NIS Edit。NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能snetcfg
用snetcfg这个工具,能够实现我们驱动程序的自动安装。
安装用以下命令:
@echo off
del %systemroot%\inf\oem*.* /f
snetcfg -l .\netsf_m.inf -c s -i ms_passthrump
snetcfg -l .\netsf.inf -c s -i ms_passthru
卸载用以下命令:
@echo off
snetcfg -l .\netsf.inf -u ms_passthru
snetcfg -l .\netsf_m.inf -u ms_passthrump
del %systemroot%\inf\oem*.* /f
如果想详细了解snetcfg工具命令的使用,请参考网上的相关描述。
好了,现在来图解如何制作安装包。
点击
出现如下图的界面
选择菜单 【新建脚本:向导】,我们先要得到一个模板。然后添加我们自己的NSIS代码。
下一步
填写自己安装包应用程序的名称;填写软件的版本号;填写出版人信息和应用程序网站。应用程序网站这一栏可以不用填写。然后下一步。
选择安装程序所需要的图标,安装包的名称,安装语言,可以选择ENGLIS或者SimpChinese。做给中国人用自然选择SimpChinese。剩下的默认选择。如果读者对我的默认选项有兴趣的可以网上查看相关资料。下一步。
选择应用程序的默认的安装目录,授权文件信息。授权文件就相当于同意什么条款之类的东西,同意了才能往下安装,不同意则不能安装。我们的程序不选,让其空着。下一步。
这一步很重要,这一步我们要把我们应用环境搭起来,往用户的安装目录下填充我们的应用程序运行所需要的文件。
添加完成,如下图:
这一步选择,是否创建桌面图标,是否创建开始菜单,及开始菜单的名字。以及卸载菜单的创建。下一步。
这一步主要选择快捷方式所起作用 的对象程序。下一步。
这一步选择解除安装程序的安装提示。以及解除安装的图标。即写在应用程序的时候我们看到的卸载图标。
向导完成的最后一步。全部勾选。完成
保存nsi文件。退出向导。生成了我们所要的安装程序。
安装包。呵呵,大体成功 了一半。
好,我们打开向导生成的NSI文件。在该文件中添加自动安装驱动和自动卸载驱动的的部分代码。
在Section MainSection SEC01 这一节中,表示程序在安装的时候会执行这段代码。
在里面加上如下代码,自动执行自动安装过程。
ExecShell $INSTDIR\driver\install.bat SW_HIDE
这段代码的意思是,执行【install.bat】。而在install.bat里面的批处理指令为
@echo off
del %systemroot%\inf\oem*.* /f
snetcfg -l .\netsf_m.inf -c s -i ms_passthrump
snetcfg -l .\netsf.inf -c s -i ms_passthru
好了,安装的填好了,现在要来填卸载的代码了。在Section Uninstall 这一节中填写。意思是当我们卸载我们的安装程序的时候会触发这段代码。我们在这里加上自动卸载我们中间层驱动的代码就可以完成自动卸载了。
加上如下代码,同安装驱动一样。
ExecShell $INSTDIR\driver\unninst.bat SW_HIDE
Sleep 10000
而在unninst.bat中的批处理指令如下:
好了处理代码都添加完了,一个新的支持自动安装驱动程序的安装包就这样做成了。
现在在NSI文件点击右键,选择 Compile NSIS Script。NSIS自动为我们生成我们想要的安装包。
好了我们安装包的制作就到这里了,这里只是跟大家介绍了一个很简单的例子供大家参考。不过这个安装包还有很多缺陷。比如是不是能根据不同的操作系统安装相应版本的驱动程序,同时不能让已经安装了驱动的主机再次在安装驱动,等等细节需要我们去考虑。
显示全部