(转)INSTALLSHIELD 2010 预安装组件和软件
使用Installshield2010提供的组件
大家再开发软件产品的时候经常是基于某些软件和类库的,像我们的项目就用到了.Net Framework3.5,mapinfo,sqlserver 2008 express,installer 4.5。那用户要用我们的产品,必须有以上的环境才可以,这些东西当然不会让用户自己去安装啦,需要我们来为用户部署好,这样用户才会觉得你的软件真的很好用,不会觉得麻烦对吧。
以前用Installshield2008的时候,对.Net Framework不支持3.5的,也不支持installer4.5,需要自己在脚本中来检测环境,运行相应的安装程序,这样的坏处是,用户界面很死板,就一个提示框“正在为您安装……”,然后界面就死在那儿不动了,体验相当差,不过当时没学识浅薄,不会自己做Prerequisites。
幸运的是,installshield2010比Installshield2008支持更多的组件,可以在“Application Data\Prerequisites”中看到,这些组件最好自己下载下来,压缩到安装包中,省的用户没有这些组件的时候需要联网下载,要是网速慢,那是要等到黄花菜都凉的。下载方法:选择需要下载的组件,点击“Download Selected Item”,这样Installshield就会为你下载这个组件了,保存目录为Installshield安装目录\InstallShield\2010\SetupPrerequisites,虽然你在卸载Installshield的时候,不会把这个目录下你下载的东西删除,不过我还是把它们都拷贝出来,以备不时之需。下载完成之后,把这个选项打上钩,在运行安装包的时候就会为你显示一个界面:
是不是很不错啊,虽然是Installshield风格的,不过还是说的过去的。
自定义预安装组件
有人可能会问了,如果我想要的组件Installshield里没有怎么办啊?不用担心,只要你按照Installshield的规定,在Installshield安装目录\InstallShield\20010\SetupPrerequisites这个目录下,做一个.prq文件即可,只有有这个.prq文件,你才能在“Application Data\Prerequisites”里面看到。编辑这个.prq的工作你可以在Installshield的“Application Data\Prerequisites”做,右键点击这个组件,在弹出的菜单中点击“Edit Prerequisite”,因为我们的.prq里面什么都没有,不过不要担心,等你配置好所有的东西之后,Installshield会为你生成一个格式正确的.prq文件.
接下来我们就以以mapinfo为例从头开始,自己来创建一个.prq文件:
1.在Installshield安装目录\InstallShield\20010\SetupPrerequisites这个目录下创建一个txt文件,名称为mapinfo,后缀名".prq";
2.打开Installshield2010,在"Application Data\Prerequisites"右侧面板中,找到"mapinfo"这个组件,右键点击"Edit Prerequisite",
就会出现配置界面.
3.接下来我们按照配置面板的页签分别配置
(1)Properties
第一项是组件的唯一id 是Installshield2010为我们自动生成的,不需要改动。
第二项是在哪里下载这个.prq文件,这个我没写,估计是给别人看的。
接下来是这个组件的描述,这个描述在安装过程中没有看到,不知道是干嘛的,可能是给自己看的吧,我们写上"This prerequisite installs the mapxtreme-ch-trial for your systems."
(2)Conditions
是否需要安装这个组件,当然需要我们来判断了,根据什么呢?Installshield就为我们提供了很多方式,比如根据注册表、系统是xp还是server2003,、某个文件是否存在,
以前基本都是用脚本来操作注册表来判断的,跟这个原理是一样的。我们根据HKEY_LOCAL_MACHINE\SOFTWARE\MapInfo\MapXtreme\7.0.0这个键是否存在来判断mapinfo是否安装,选择"A registry key does or does not exist",在"在Spercify the registry key name to check:"中填上"HKEY_LOCAL_MACHINE\SOFTWARE\MapInfo\MapXtreme\7.0.0",系统选择Default,"Run this prerequisite"选择"If the specified registry key DOES NOT EXISTS"。
(3)Files to Include
这个当然是要安装这个组件的安装包了,这里我选择了mapinfo的安装包
(4)Application to Run
这里选择安装这组件需要运行的安装包,就是上面"Files to Include"中的mapxtreme-ch-trial.exe,比较麻烦的是下面的参数,一半我们安装这些组件的时候,不想让用户
看到这个组件的安装界面,所以需要静默安装,不同公司产品的静默安装命令都可能不同,如果你要装的组件不是Installshield2010支持的,那这些静默参数可能需要花很长时间去找了.mapinfo的静默安装参数是"/v/qn"。还有一个参数是重启参数,如果你的组件需要重启计算机的话,需要配置这个参数,我们这个不需要重启。不过据我所知,标准的msi安装包重启参数都是1641,3010。
(5)Behavior
这个里面是配置安装这个组件需要的权限,以及运行时的行为,这里大家可以根据需要自己配置,像我们的产品是依赖mapinfo的,所以如果mapinfo安装失败的话,即使安装完成也无法使用,所以在"If,after installing the prerequisite,the conditions still indicate it is required"下选择"abort the setup".
(6)Depencies
按照Installshield的描述,大家应该很容易理解,就是指定在这个必须组件安装之前需要安装的组件的.prq文件,这个大家可以看一下windows installer 4.5 update for windows xp sp3 and later (x86)可以看到它的"Depencies"下"Windows Installer 4.5 for Windows XP SP2 and later (x86).prq",就是所你在安装windows installer 4.5 update for windows xp sp3 之前需要安装Windows Installer 4.5 for Windows XP SP2。这个看大家自己的需要可以自己定义。咱们这个mapinfo没有特别需要,这里就不配置了。
(7)ok,点击"File-Save".
我们打开InstallShield安装目录\InstallShield\20010\SetupPrerequisites目录下的mapinfo.prq就可以看到如下内容:
然后勾选上这个组件,安装包就会在运行的时候检测系统是否安装mapinfo,如果没有就会为我们安装了。
好了,到这里大家应该都知道怎么做预装组件了。这块我了解的就这么多,如果有不对的地方希望各位达人指教,还有如果有人看到这篇文章的话希望能留下您做的预装组件的静默安装参数和重启参数等,我会在以后总结一下,方便大家使用,不胜感激!
(转)INSTALLSHIELD 2010 预安装组件和软件的更多相关文章
- Microsoft Office 2010/2013安装组件预设
日常维护中,多台电脑需要安装Office,可是Office包含的组件又很多(Excel/Word/PPT/OUTLOOK/ACCESS等),有些是不需要的,默认情况下Office都默认安装,一个一个调 ...
- [转] vagrant系列(2):使用Vagrantfile实现集成预安装
在我们的开发目录下,有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面:虚拟机配置.SSH配置.基础配置.Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的, ...
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...
- 使用Advanced Installer打包工具如何设置是否安装预安装程序包
要保证我们的程序能在目标机器上正常运行,便需要保证目标机器上提供了程序运行的必要组件. 而在使用Advanced Installer打包工具制作程序安装包时,我们可以通过配置“需求-运行环境-程序包- ...
- TFS 2010 让安装更简单,也让VSS成为历史
一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号 ...
- Linux学习笔记4-三种不同类型的软件的安装(绿色软件、rpm软件、源代码软件)
在Linux下软件分三种: 1.绿色软件:即不用安装直接就能用的软件 2.rpm安装包:以rpm结尾的可执行文件 3.源码文件:没有进行过编译和打包的文件,需要编译后再进行安装 一.绿色软件的安装 ...
- TFS 2010 使安装更容易,让VSS历史
一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号 ...
- Installshield关于.NET安装时需要重启动的处理办法,以及延伸出的重启后继续安装的安装包的一点想法
原文:Installshield关于.NET安装时需要重启动的处理办法,以及延伸出的重启后继续安装的安装包的一点想法 很多朋友做安装包的时候,所打包的软件需要.NET Framework之类的环境,他 ...
- 添加额外的源, 使得yum可以安装更多的软件
RHEL 官方扩展源 yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch. ...
随机推荐
- ViewData,ViewBag和TempData
ViewData ViewBag TempData 类型 字典 Dynamic TempDataDictionary 出生时间 MVC1 MVC3 框架版本 .net3.5 .net4.0 ...
- MVC5+EF6+BootStrap3.3.5 博客系统之EF(一)
- 微软职位内部推荐-This Job is no longer available.
微软近期Open的职位: 如果你想试试这个职位,请跟我联系,我是微软的员工,可以做内部推荐.发你的中英文简历到我的邮箱:Nicholas.lu.mail(at)gmail.com
- jsf2入门视频 教程
jsf2.0 入门视频 教程 需要的看下.初次录视频.还有很多需要完善. JSF交流QQ群84376982 JSF入门视频下载地址 http://pan.baidu.com/s/1jG3y4T4 ...
- 基于SuperSocket实现的WebSocket(后端)
关于WebSocket其实很早就想发了,奈何之前项目中的WebSocket的后端不是我做的,而我又想前后端都发出来和大家讨论讨论~于是挤出点时间研究了一下WebSocket的后端实现(所以才有了这篇文 ...
- 用in判断input中的placeholder属性是否在这个对象里
<input id="test"> var ele = document.getElementById("test"); if("plac ...
- The 11th Zhejiang Provincial Collegiate Programming Contest->Problem A:A - Pokemon Master
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3776 题意:比较两组数据的总和大小. #include <iostr ...
- API断点大全
1.限制程序功能函数 EnableMenuItem 允许.禁止或变灰指定的菜单条目EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) 2.对话框函数 CreateDia ...
- 【形式化方法:VDM++系列】4.VDM实战1——铁路费用计算
又有将近2个月没更新博客了啊!winter holiday简直玩儿疯了的说!结果假期前学习的形式化方法已经忘了大半!面对期末作业,大脑一片空白.于是,赶快复习了一下之前学习的姿势! 这次的主要任务是完 ...
- Qt读写二进制文件
http://blog.csdn.net/mjlsuccess/article/details/22194653 http://www.cnblogs.com/weiweiqiao99/archive ...