转自:http://blog.csdn.net/weixin_29796711/article/details/72822052

用户在使用我们用windriver开发的硬件驱动时,需要先安装windriver的必备文件还有硬件的驱动,过程比较麻烦,为方便用户,可以将它们打包成一个安装程序,让用户一键安装即可。

下面将简单分享使用InstallShield打包安装程序(InstallShield版本为2010),关于InstallShield的教程网上资源很多,本文将不做具体介绍,文章最后会附上本人认为比较实用的两个教程。

一、制作安装包的步骤

Step 1:新建InstallShield工程

打开InstallShield,新建一个InstallScript MSI Project。

Basic MSI Projecet 不方便修改安装界面,InstallScript Project比较难用,很多都要自己写。对于我这种InstallShield初学者,我感觉InstallScript MSI Project比较适合自己。

Step 2: 打包必备文件(Windriver必备文件、硬件驱动文件、VC运行库)

在Installation Designer中,点击Setup Design,新建一个Feature->新建Component->设置component属性->将文件拉入Commponent的Files中

设置component属性:

添加windriver必备文件、硬件驱动文件:

添加VC 运行库:

Step 3 :安装文件、添加卸载快捷方式

在InstallScript添加Moved函数,在Moved函数中进行安装操作,参考我之前写的windriver pci驱动发布文章对文件进行安装,如下图所示

Step 4 :卸载

在InstallScript添加OnMaintUIBefore函数,在OnMaintUIBefore函数中进行卸载操作,参考我之前写的windriver pci驱动发布文章对文件进行卸载,如下图所示

Step 5 :修改安装界面

在InstallScript添加OnFirstUIBefore函数,在OnFirstUIBefore可以修改安装界面,具体自己根据需求修改

Step 5 :生成安装程序

点击Project Assistant->选择Build Installation->选择Single Executable(安装包比较小,生成.exe即可)->Build

生成后可在项目文件夹中找到Setup.exe(名字可改)

二、注意事项

1.制作64位安装包时要注意64位系统在运行32位程序时会把指定拷贝到system32的文件自动改为拷贝到SysWoW64下。

2.32位和64位系统对应的windriver必备文件不一样。分别安装32位和64位的windirver软件提取必备文件即可。

3.数字证书(申请比较麻烦,而且需要收费),如果没有数字安全证书,安装时会提醒Windows无法验证驱动软件的发布者,选择始终安装此驱动程序软件即可

三、两个参考教程

http://download.csdn.net/detail/weixin_29796711/9856608

http://download.csdn.net/detail/weixin_29796711/9856611

使用InstallShield打包windriver驱动-转的更多相关文章

  1. InstallShield打包设置相对路径

    InstallShield打包设置相对路径 在使用Installshield 打包安装文件时,添加打包文件时默认使用绝对路径,但是工程文件转移时(复制到其它位置时)编译时就会找不到安装文件,这样很不方 ...

  2. 用InstallShield 打包工具 打 Win32 程序 (depends.exe 用看程序都依赖了哪些dll)

    InstallShield 打包工具 1. 转载:http://blog.csdn.net/zhang_xinxiu/article/details/9099757 2. 转载:http://www. ...

  3. InstallShield打包,以及集成TFS、JenKins

    一. InstallShield打包脚本教程,这里面写的很详细了 [海洋女神原创]一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一 需要补充的是Insta ...

  4. 使用InstallShield打包VS程序

    使用InstallShield打包VS程序 InstallShield是微软自己的一个打包工具,这个打包工具,有其优势也有其弊端.其优势,可以很好且方便地将.NET平台的控件以及程序所需要的dll打包 ...

  5. 怎样用QT在windows环境通过编程卸载installShield打包的程序

    通常情况下,如果是一个完备的软件,我们可以通过启动软件的uninstaller.exe之类的程序来完成卸载.但是使用installShield打包的程序,本身可能并不含有这类卸载程序.此时,我们可以通 ...

  6. Installshield 打包安装包心得

     制作简单的安装软件 声明:下面的教程,是把读者当做完全没接触过IS的角度来制作的. 1. 启动InstallShield 12.建立一个InstallShield MSI Project,如图: 2 ...

  7. InstallShield打包

    使用2010部分汉化版(2010之后找不到更新的破解版本),主要用于打包桌面应用程序. 主要步骤: 1.3种主要的工程类型: Basic MSI,安装脚本不易使用. InstallScript,无法加 ...

  8. 更换用installshield打包生成exe文件的图标【转】

    最近在研究用installshield2010为自己做的产品打包,自己在网上找写资料,胡乱折腾,最后弄成了一个exe安装包,想要修改exe文件的图标,发现Basic MSI project 无法用in ...

  9. 用.net installshield打包程序时注册第三方控件

    制作打包程序时如果用到外部控件需要按以下方式操作: 1.将控件及控件所用到的所有DLL加入打包程序. 2.将控件的Register由vsdrfDoNotRegister改为vsdrfCOMSelfRe ...

随机推荐

  1. hybrid浅记

    目前首次接触hybrid项目,故根据翻阅了解后,浅记对它的认识. hybrid是携程推出的一个项目框架,其优点是:跨平台.开发效率高.开发成本相对较低,其不足是:体验不如Native hybrid设计 ...

  2. Linux基础四(服务管理)

    目录 一.简介与分类 1.系统的默认运行级别 2.服务的分类 3.服务与端口 二.服务管理 1.RPM包服务管理 2.源码包服务管理 三.服务管理总结 一.简介与分类 1. 系统的运行级别 1.1 默 ...

  3. linux C单元测试工具CUnit的编译安装及使用

    1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/ (安装包版本为文章做成时2016-05-25的最新版本) https://sourceforge.NET/pro ...

  4. Alpha冲刺第7天

    Alpha第7天 1.团队成员 郑西坤 031602542 (队长) 陈俊杰 031602504 陈顺兴 031602505 张胜男 031602540 廖钰萍 031602323 雷光游 03160 ...

  5. 转Git学习碰到的问题

    [原]Git学习碰到的问题 1.通过 windows 下的 gitbash 连接 github 时 $ ssh-keygen -t rsa -C "abcd@efgh.com" / ...

  6. [转帖]linux namespace 和cgroup lxc

    https://blog.csdn.net/xiaoliuliu2050/article/details/53443863 5.1 linux namespace 和cgroup lxc 2016年1 ...

  7. GS 服务器超时时间设置

    工作中 遇到一个超时的问题 与徐庆同学沟通后 了解了下超时时间设置的地方 1.web.congfig问题: 常规路径 C:\Program Files\GenerSoft\bscw_local\web ...

  8. ORM的详解

    有很多小伙伴都不太理解ORM是什么,其实不用想象的那么复杂.我们先根据3W1H去理解. who:首先ORM可以立即为(Object/Relation Mapping): 对象/关系映射 what:其次 ...

  9. npm 报错unable to verify the first certificate

    npm总是报错:unable to verify the first certificate 原创 2017年09月30日 11:06:10 https://blog.csdn.net/nicexib ...

  10. WebAPI框架里设置异常返回格式统一

    直接上代码 /// <summary> /// 消息代理处理,用来捕获这些特殊的异常信息 /// </summary> public class CustomErrorMess ...