一种运动控制卡驱动安装包制作方法

文档序号:8512457阅读:1274来源:国知局
一种运动控制卡驱动安装包制作方法
【技术领域】
[0001]本发明涉及一种硬件驱动安装包制作方法,尤其涉及一种运动控制卡驱动安装包制作方法。
[0002]
【背景技术】
[0003]在现代化工业生产中,为了满足新型数控系统的标准化、柔性和开放性等要求,基于PC机的各种高性能多轴运动控制卡应运而生。绝大多数运动控制卡都是基于PC总线的,利用高性能微处理器(如DSP)及大规模可编程器件来实现多个伺服电机的协调运动。由于是基于PC总线,所以运动控制卡必须要插在工控机的PCI插槽上使用,作为外部设备的运动控制卡要想和工控机进行正常通信,需要事先在工控机中安装运动控制卡的驱动程序,这样工控机才能正确识别运动控制卡并协调控制双方的通信过程。驱动安装时,用户先在工控机中插好运动控制卡,然后在设备管理器中找到相应的硬件,在硬件设备上单击鼠标右键,选择更新驱动程序,在硬件更新向导对话框中正确指定控制卡驱动所在的路径,经过这些步骤才能完成控制卡的驱动安装。由于驱动版本多,如果用户一不小心指定了与操作系统版本不一致的驱动,安装完成后会导致控制卡无法正常工作,这时必须卸载掉错误的驱动程序并安装正确的驱动。卸载驱动的时候也是要在设备管理器中找到相应硬件,通过单击鼠标右键进行卸载。以上这些操作要求用户具有一定的专业基础知识,并且会给用户增加一些不必要的麻烦,也很容易导致错误。尤其是在Windows XP操作系统中,通过设备管理器手动卸载驱动会留下残余信息,导致再次安装驱动时失败。同时为了让用户更好的使用控制卡,控制卡生产商不仅要提供不同版本的运动控制卡驱动,还需要相应地提供给用户不同版本的开发包,开发示例,说明书等资料,这样导致提交给用户的资料过多,用户经常将资料弄混,一旦手动指定的驱动路径不对,想重新安装驱动的时候往往由于卸载不彻底而失败。

【发明内容】

[0004]本发明的目的是提供一种运动控制卡驱动安装包制作方法,以克服上述不足,从而提高控制卡驱动安装效率,进而提升用户使用体验。
[0005]本发明实施例提供一种运动控制卡驱动安装包制作方法,具体步骤包括:
编写检测控制卡以及用来删除驱动残留信息的动态链接库dll;
将编写的dll、devcon.exe以及不同操作系统版本的控制卡驱动、开发包和说明书放到新建目录中;
新建一个Inno Setup脚本,在[Code]段中添加安装初始化事件函数InitializeSetup和卸载初始化事件函数InitializeUninstall,在InitializeSetup中调用检测控制卡的dll,在InitializeUninstall函数中调用删除驱动残留文件和注册表信息的dll ;
在[Files]段中,根据操作系统版本号、操作系统位数以及控制卡检测结果,将相应的驱动文件复制到安装目录中;
在[Run]和[UninstalIRun]段中,用devcon工具操作inf文件进行驱动的安装和卸载;
编译Inno Setup脚本代码,生成可执行的控制卡驱动安装包。
[0006]使用上述方法制作得到的驱动安装包安装驱动时,与以往在设备管理器中手动指定驱动位置的方法相比具有下列优点:用户只需要双击控制卡驱动安装包就可以快速完成驱动安装,不用进入设备管理器,不用考虑操作系统的版本,不用手动指定驱动路径,安装完成后会在开始一〉程序菜单中生成相应文件夹,从该文件夹下面可以浏览控制卡开发包和说明书,快速启动控制卡示例程序,尤其是在该文件夹下面提供了一键卸载控制卡驱动的快捷方式,并且卸载彻底无残留。大大提高了用户安装和卸载控制卡驱动的效率,提升了用户使用体验。
【附图说明】
[0007]图1为本发明实施例中控制卡驱动安装包制作流程示意图。
【具体实施方式】
[0008]为了提高用户安装和卸载控制卡驱动的效率,提高用户使用体验,本发明实施例提供了一种控制卡驱动安装包的制作方法,利用该方法制作得到驱动安装包后,用户只需要双击安装包就可以快速完成驱动安装,不用进入设备管理器,不用考虑操作系统的版本,不用手动指定驱动路径,安装完成后会在开始一〉程序菜单中生成相应文件夹,从该文件夹下面可以浏览控制卡开发包和说明书、快速启动控制卡示例程序,尤其是在该文件夹下面提供了一键卸载控制卡驱动的快捷方式,并且卸载彻底无残留。
[0009]下面结合附图对本发明优选的实施例进行详细说明。
[0010]如附图1所示,本发明实施例中,控制卡驱动安装包的制作方法的详细流程如下: 步骤101:编写好检测控制卡是否插上或插好的动态链接库dll,编写好用来删除驱动残留文件和注册表信息的动态链接库dll ;
步骤102:新建一个目录,将步骤A编写的dll、32位和64位devcon.exe以及不同操作系统版本的控制卡驱动、开发包和说明书放到该目录中;
步骤103:在步骤B新建的目录中,新建一个Inno Setup脚本,在代码[Code]段中添加初始化事件函数InitializeSetup和卸载初始化事件函数InitializeUninstall ;
步骤104:在InitializeSetup函数中提取出临时文件devcon.exe,调用检测控制卡的dll模块。如果检测到了控制卡,则静默安装驱动,如果没有检测到控制卡,则弹窗询问用户是只安装开发包和说明书还是退出安装程序,并保存检测结果,在InitializeUninstall函数中调用删除驱动残留信息的dll模块,删除驱动残留文件和注册表信息;
步骤105:在[Files]段中,复制检测控制卡的dll和删除驱动残留信息的dll到安装路径中。如果检测到了控制卡且检测到某版本的操作系统,则只将该操作系统版本的控制卡驱动、开发包和说明书复制到安装路径下相对应的目录中;如果没有检测到控制卡且检测到某版本的操作系统,则只将该操作系统版本的控制卡开发包和说明书复制到安装路径下相对应的目录中;如果检测到操作系统为64位,则将64位的devcon.exe复制到安装路径中,否则将32位的devcon.exe复制到安装路径中;
步骤106:在[Run]段中,将控制卡的inf文件名和硬件ID作为参数,运行命令行工具devcon中的update命令进行控制卡驱动的安装,在[UninstalIRun]段中,将控制卡的inf文件名和硬件ID作为参数,运行命令行工具devcon中的remove命令进行控制卡驱动的卸载,运行命令行工具devcon中的rescan命令扫描以发现新的硬件;
步骤107:编译Inno Setup脚本代码,生成可执行的控制卡驱动安装包。
【主权项】
1.一种运动控制卡驱动安装包制作方法,其特征在于,包括下列步骤: 在Inno Setup脚本代码[Code]段的安装初始化事件函数InitializeSetup中调用检测控制卡的dll ; 在Inno Setup脚本代码[Code]段的卸载初始化事件函数InitializeUninstall中调用删除驱动残留文件和注册表信息的dll ; 在Inno Setup脚本代码[Files]段中,根据操作系统版本号、操作系统位数以及控制卡检测结果,将相应的驱动文件复制到安装目录中; 在Inno Setup脚本代码[Run]段中,用devcon工具操作inf文件进行驱动的安装; 在Inno Setup脚本代码[UninstalIRun]段中,用devcon工具操作inf文件进行驱动的卸载和硬件扫描。
2.如权利要求1所述的方法,其特征在于,在InnoSetup脚本代码[Code]段的安装初始化事件函数InitializeSetup中调用检测控制卡的dll时,包括: 编写好能检测控制卡是否插上或插好的动态链接库dll,在InitializeSetup函数中提取出临时文件devcon.exe,调用检测控制卡的dll模块; 如果检测到了控制卡,则静默安装驱动,如果没有检测到控制卡,则弹窗询问用户是只安装开发包和说明书还是退出安装程序,并保存检测结果。
3.如权利要求1所述的方法,其特征在于,在InnoSetup脚本代码[Code]段的卸载初始化事件函数InitializeUninstall中调用删除驱动残留文件和注册表信息的dll时,包括: 编写好能彻底删除驱动卸载后残留文件的动态链接库dll,在InitializeUninstall函数中调用删除驱动残留信息的dll模块,删除驱动残留文件和注册表信息。
4.如权利要求1所述的方法,其特征在于,在InnoSetup脚本代码的[Files]段中复制文件时,包括: 复制检测控制卡的dll和删除驱动残留信息的dll到安装路径中; 如果检测到了控制卡且检测到某版本的操作系统,则只将该操作系统版本的控制卡驱动、开发包和说明书复制到安装路径下相对应的目录中;如果没有检测到控制卡且检测到某版本的操作系统,则只将该操作系统版本的控制卡开发包和说明书复制到安装路径下相对应的目录中;如果检测到操作系统为64位,则将64位的devcon.exe复制到安装路径中,否则将32位的devcon.exe复制到安装路径中。
5.如权利要求1所述的方法,其特征在于,在InnoSetup脚本代码[Run]段中,用devcon工具操作inf文件进行驱动的安装时,包括: 在Inno Setup脚本代码的[Run]段中,将控制卡的inf文件名和硬件ID作为参数,运行命令行工具devcon中的update命令进行控制卡驱动的安装。
6.如权利要求1所述的方法,其特征在于,在InnoSetup脚本代码[UninstalIRun]段中,用devcon工具操作inf文件进行驱动的卸载和硬件扫描时,包括: 在Inno Setup脚本代码的[UninstalIRun]段中,将控制卡的inf文件名和硬件ID作为参数,运行命令行工具devcon中的remove命令进行控制卡驱动的卸载,运行命令行工具devcon中的rescan命令扫描以发现新的硬件。
【专利摘要】本发明公开了一种运动控制卡驱动安装包制作方法。该方法为:新建一个Inno Setup脚本,在[Code]段的InitializeSetup函数中调用检测控制卡的dll,在InitializeUninstall函数中调用删除驱动残留文件和注册表信息的dll;在[Files]段中,根据操作系统版本号、操作系统位数以及控制卡检测结果,将相应的文件复制到安装目录中;在[Run]和[UninstallRun]段中,用devcon工具操作inf文件进行驱动的安装和卸载;编译Inno Setup脚本代码,生成可执行的控制卡驱动安装包。使用该方法制作的驱动安装包安装控制卡驱动时,可以克服传统方法需要从设备管理器中手动指定驱动文件位置以及驱动卸载不彻底的缺点,让控制卡驱动的安装和卸载变得便捷、高效和人性化。
【IPC分类】G06F9-44, G06F9-445
【公开号】CN104834526
【申请号】CN201510248349
【发明人】田魁, 艾小云, 王亮
【申请人】深圳众为兴技术股份有限公司
【公开日】2015年8月12日
【申请日】2015年5月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1