INSTALLSHIELD 2010 预安装组件和软件--小论

大家再开发软件产品的时候经常是基于某些软件和类库的,像我们的项目就用到了.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,如果没有就会为我们安装了。

好了,到这里大家应该都知道怎么做预装组件了。这块我了解的就这么多,如果有不对的地方希望各位达人指教,还有如果有人看到这篇文章的话希望能留下您做的预装组件的静默安装参数和重启参数等,我会在以后总结一下,方便大家使用,不胜感激!

时间: 2024-11-06 02:23:31

INSTALLSHIELD 2010 预安装组件和软件--小论的相关文章

Microsoft Office 2010/2013安装组件预设

日常维护中,多台电脑需要安装Office,可是Office包含的组件又很多(Excel/Word/PPT/OUTLOOK/ACCESS等),有些是不需要的,默认情况下Office都默认安装,一个一个调整过于麻烦,经过查找资料,找到了相应的解决办法. 方法: 用记事本打开安装目录下Microsoft_Office_2010\ProPlus.ww\config.xml文件,修改如下(默认只安装Excel\Word\PPT\Outlook) <Configuration Product="Pro

Android预安装软件&adb命令&编译源码

1.预安装软件: 将apk文件拷贝到 android/platform/thirdapp/ 目录下,然后编译android源码再烧录就可以完成 当然,在该下删除apk也可以实现去掉预装软件,这应该就是很多精简rom包实现的原理 2.编译android源码 进入android源码根目录下 rm $OUT/system $OUT/data $OUT/obj/APPS -rf source build/envsetup.sh  make image 3.烧录 将编译得到的out/mt8658sdk/b

使用InstallShield 2010打包Winform安装包

1.前言 最近,私下帮客户做了一个静脉识别系统,在产品发布的时候,自然少不了打包安装包.由于之前一直在搞B/S相关开发,对打包这块不是很熟悉,今天就来探讨一下. 2.打包工具选择 比较好的打包工具很多,NSIS.InstallShield.还有VS自带的都有,不过好像在VS2013之后InstallShield就成默 认的打包工具了.仔细看了下资料,InstallShield在Windows安装包制作方面是非常优秀的,是微软的金牌合作伙伴明智的信赖,呵呵.就选 择他吧. 其实NSIS也挺好,只不

静默方式安装10g数据库软件+升级patch+手工建库

通常我们安装Oracle数据库软件,都是用OUI图形界面来完成的,但有些Unix/Linux系统中并未安装图形系统,也就无法使用图形界面来安装Oracle的产品了,对于这种场景,就只能采用静默方式来安装了,Oracle提供了这种silent方式,主要是通过配置响应文件rsp来完成的. 一.静默安装10.2.0.1数据库软件 --解压安装包 [[email protected] u01]$ unzip 10201_database_linux32.zip [[email protected] u0

TFS 2010 让安装更简单,也让VSS成为历史

一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号公布了.TFS 2010也将一起正式公布,相对于2005和2008,2010将是具有里程碑意义的一个版本号,就像它总设计师Brian Harry在以下的Channel 9採訪中所描写叙述的:“TFS 2005是TFS 1.0版,2008则是1.5,而2010则是2.0版”. Brian Harry:

Windows安装AndroidStudio开发软件

为了开发安卓应用,你必须安装下面的软件在你的系统上: 1.JDK. 2.Android Studio开发工具或者离线Android SDK工具. 3.NDK. 推荐安装Gradle但是不是必须的.请看Gradle段落获取更多信息. JDK JDK是一个必要条件对androidStudio和Gradle. jdk的最新发布版本是JDK 8u45,可以在下面的地址下载:http://www.oracle.com/technetwork/java/javase/downloads/java-archi

LNMP安装了哪些软件?安装目录在哪?

LNMP官网:http://lnmp.org/faq/lnmp-software-list.html LNMP一键安装包除去安装所必须的依赖包,还会默认安装以下软件: Nginx.MySQL/MariaDB.PHP.phpMyAdmin.Zend Optimizer/Zend GuardLoader.用户可以根据自己的需要安装其他组件,如FTP服务器.缓存组件,也可以使用升级脚本对Nginx.MySQL.PHP进行升级.安装这些组件或升级都需要在lnmp下载解压缩后的目录,比如下载到/root目

Word 2003安装时的一个小问题

Word2003安装时的一个小问题 今天给一个老师安装软件,出现了这个问题? 系统管理员设置了系统策略,禁止进行此安装. 解决方法 开始-运行-regedit 在注册表项里找到下面这个选项: HKEY_CLASSES_ROOT\Installer\Products\4080110900063D11C8EF10054038389C 将这项删除.再进行安装就可以了.

SharePoint Server 2010的安装

环境概述:环境中有三台安装windows server 2008R2的服务器,一台是DC域控制器,一台是安装了SQL Sserver 2008R2的服务器server01-SQL,一台是准备安装Sharepoint server的服务器 Server02-SP 1.为服务器更改名称并把它加入到域中,如图,点确定,输入用户名和密码,成功加入到域后重启计算机 安装.net framework 功能: 2.打开服务器管理器,点击添加功能 3.选择.net framework 3.5.1功能,在跳出的窗