MyException - 我的异常网
当前位置:我的异常网» 开源软件 » InstallShield 软件打包完整课程

InstallShield 软件打包完整课程

www.MyException.Cn  网友分享于:2013-09-19  浏览:0次
InstallShield 软件打包完整教程

任务说明:公司一个绿色版的软件,为安装部署是需要很多的环境依赖,如 DevExpress、.net4.5、WinRAR等,客户提出安装复杂,并且有漏装后无法启动等情况,现将绿色版转安装版,并将依赖环境集成进去。

注:博主发现网上的教程大多是只讲了利用软件的引导部分实现简单的打包,少有对依赖环境的集成进行讲解,所以写下这一篇内容。 本人用的是汉化版,请使用英文版的自行对号入座即可。

1 软件打包说明

1.1 InstallShield的安装

  InstallShield 2010下载地址  点击这里 ,安装方法网上有很多就不赘述了。

1.2 绿色版安装包的前期准备

如果你的绿色版软件比较小(1G以内),或者文件结构比较简单,请忽视此段,由于我所要打包的软件体积比较大(7G),最重要的是文件结构比较复杂,内部文件夹嵌套较多,且例如图片,xml等小文件较多,这样 InstallShield软件在打包导入的时候回非常慢,我尝试导入了10多个小时也没有结束就放弃了,所以在这里我建议对软件进行压缩处理,压缩方式请转

RAR打包exe文件教程,得到一个单独的 EXE文件后进行接下来的操作。

2 InstallShield打包完整流程

2.1创建新的 Windows Installer | InstallScript MSI Projcet

这种类型的工程既有打包向导,又可以写一点脚本实现自定义操作,比较适合使用。

2.2 打包向导主界面

这里是InstallShield提供的向导主界面,我们是通过点击选择下方的动作条进行操作。

 

2.3应用程序信息

公司信息,应用程序名称等等,这里没什么好说的。

2.4 安装要求

这里要说一下,大家可能会把这里理解为是安装依赖,但是这里与其说是依赖不如说是安装的前提或要求,这里勾选的环境 会在你双击setup后立即开始检测,并且在不满足条件的情况下并没有引导用户安装的选项,只会对你做相应的提醒(如:请安装Adobe reader6!)后直接结束安装并退出。明显与我们将依赖环境集成引导安装的需求不相符,但是考虑到有些人会有这样的需求,也在接下来简单讲一下。

2.4.1 系统安装要求的勾选

对于InstallShield软件已经列出的选项直接勾选就可以,不再赘述。

2.4.2 自定义系统安装要求

对于InstallShield没有列出的我们可以通过左侧 创建一个自定义软件条件 来自行添加,如下图,你可以选择不同的满足条件(如 注册表某一项的值为XXX或 系统的某一路径下存在某一文件等等),这里的选项可以满足自定义几乎所有的安装要求。

2.5安装体系结构

在这里可以新建多个Feature,每一个Feature代表一类安装环境,具体以例子说明,见下面第二张图。

 

这中类型的图片大家一定很熟悉,这是大多数软件点击自定义安装后出现的界面, 以下图为例,My sql数据库,MuseMail这两个选项就对应两个Feature,也就是上一幅图中的defaultFeature和New_Feature2这两个,然后属于musemail类里面的多个软件就被添加到MuseMail的Feature下,对于MuseMail->初始化工具,则要创建初始化工具的Feature,以此类推。

2.6应用程序文件

在此界面为每一个Feature添加文件。若有多个文件可选择添加文件夹。 这些Feature将是用户自定义安装时选择的对象。

2.7 应用程序快捷方式

在这里添加在上一部分添加的文件中,每一个在你安装后的系统可能用到的文件的快捷方式,建议只添加必须的。右侧可以选择快捷方式出现的位置。

2.8应用程序注册表

在这里可以选择应用程序想要写入注册表的信息,右键添加即可,比较简单。

2.9安装本地化

这一部分用来选择安装语言

2.10构建安装

选择生成安装包。讲到这里比较简单的安装包已经可以打包好了,已经可以点击生成了,选择对应的生成类型即可。

3 依赖环境集成

选择安装设计器界面—>应用程序数据—>可再分发,在这里可以选择系统所需的环境,并且在环境不满足的情况下弹出下载安装的提醒。

InstallShield软件已经集成了部分依赖环境,可以勾选添加,并且可以在部署前下载,这样可以添加到安装包中,免除用户在安装过程中下载过程。但是InstallShield中不包含的怎么办呢,接下来来讲自定义依赖环境。

 

InstallShield提供的依赖环境是以 .prq文件的方式提供的,目录是    X:\..\InstallShield\2010\SetupPrerequisites,在这里有很多.prq文件,自定义不存在的依赖环境就是在网上下载.prq文件,或自己创建

常用prq文件地址

如果下载不到要如何创建呢 下面是创建的例子

<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
	<conditions>
		<condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\test" FileName="test" ReturnValue="1"></condition>
	</conditions>
	<operatingsystemconditions>
		<operatingsystemcondition MajorVersion="5" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ProductType="1" ServicePackMajorMin="2"></operatingsystemcondition>
		<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" ProductType="2|3"></operatingsystemcondition>
		<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="2" ProductType="1"></operatingsystemcondition>
		<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion=""></operatingsystemcondition>
		<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" ProductType="2|3"></operatingsystemcondition>
		<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" ProductType="1"></operatingsystemcondition>
	</operatingsystemconditions>
	<files>
		<file LocalFile="<ISProductFolder>\SetupPrerequisites\test\test 3.5\test3.5.exe" URL="http://download.test.com/download/test3.5.exe" CheckSum="D481CDA2625D9DD2731A00F482484D86" FileSize="0,242743296"></file>
	</files>
	<execute file="Helper.exe" cmdline="/p dotnetfx35.exe /l 1033 /v "/q /norestart"" cmdlinesilent="/p dotnetfx35.exe /l 1033 /v "/q /norestart"" returncodetoreboot="1641,3010" requiresmsiengine="1"></execute>
	<properties Id="{074EE22F-2485-4FED-83D1-AAC36C3D9ED0}" Description="This prerequisite installs the .NET Framework 3.5 Service Pack 1 full package." AltPrqURL="http://saturn.installshield.com/is/prerequisites/microsoft .net framework 3.5 sp1.prq"></properties>
	<behavior Reboot="2"></behavior>
</SetupPrereq>

<condition :

     该选项是说明当注册表 HKEY_LOCAL_MACHINE\SOFTWARE\test 路径的 指定项 test 的值为1 则是说明此环境符合要求,若不为1 则提醒安装指定程序。

<file LocalFile :

    用来说明下载的文件存储文位置:将该prq文件拷贝至X:\..\InstallShield\2010\SetupPrerequisites 后重启InstallShield软件后你会发现在X:\..\InstallShield\2010\SetupPrerequisites 文件夹下出现新的文件夹目录\test\test 3.5目录,将想要安装的 test3.5.exe 软件拷贝至该目录下,后再次重启软件(其实博主也不知道要不要重启,只是觉得应该要重启的(#^.^#))然后就可以在本部分图一中找到并且勾选了。

4 补充说明

还有很多操作可以通过写脚本实现,博主就不在这里献丑了,因为这里有写的很好的教程,博主也是看这篇学习的 在此表示感谢。海洋女神原创

文章评论

程序员应该关注的一些事儿
程序员应该关注的一些事儿
 程序员的样子
程序员的样子
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员和编码员之间的区别
程序员和编码员之间的区别
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
每天工作4小时的程序员
每天工作4小时的程序员
程序员都该阅读的书
程序员都该阅读的书
为什么程序员都是夜猫子
为什么程序员都是夜猫子
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员必看的十大电影
程序员必看的十大电影
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
旅行,写作,编程
旅行,写作,编程
Java程序员必看电影
Java程序员必看电影
那些争议最大的编程观点
那些争议最大的编程观点
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
代码女神横空出世
代码女神横空出世
鲜为人知的编程真相
鲜为人知的编程真相
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
编程语言是女人
编程语言是女人
中美印日四国程序员比较
中美印日四国程序员比较
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
我是如何打败拖延症的
我是如何打败拖延症的
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
10个调试和排错的小建议
10个调试和排错的小建议
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
我的丈夫是个程序员
我的丈夫是个程序员
如何成为一名黑客
如何成为一名黑客
总结2014中国互联网十大段子
总结2014中国互联网十大段子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
漫画:程序员的工作
漫画:程序员的工作
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有