InstallShield 2013 应用笔记(一)

背景

因项目需要,将最终交付的应用打包成安装程序。在VS2010之前版本,所有安装包制作,我都使用VS自带的安装程序。在VS2010后,因对VS的安装程序维护成本过高,依赖的VBScript脚本语言,因此微软官方放弃了两个很好用的东西,一个就是VS自带的安装程序,另一个是宏命令。取而代之的是Nuget的三方平台开放和鼓励政策。
InstallShield的版本分为:
Premier
Professional
Express
详细请看各版本间的区别
其中,Express功能受限,但提供了基本的VS功能支持,说白了是免费使用的,一般项目利用该版本就可以做出一个不错的安装程序,美中不足的是:没有多Feature的支持,也就是说,如果你的安装程序中需要选择安装多个选项,而且追求完美,仅希望最终发售给客户的时候就一个EXE文件,那么很抱歉,你可能要花钱买以上两个版本了。
基于以上原因,团队在选型安装包制作程序的时候选择了Installshield Limited Edition,原因有几个:

  1. VisulStudio的工程项目集成,方便的建立安装程
    1. 仅使用免费版本,当然网络上大多的是破解版本等,但因产品发布最终部署在国外多区域,因此慎重选择了全免费的功能
    2. 微软不支持自带的安装程序,既然不维护那么我们也没必要选择熟悉的方式
    3. 这东西的确好

InstallShield 下载

实际应用中,感觉2013比2012好很多,因后续版本没有在生产环境中使用过,因此没有发言权,因此推荐2013下载地址:
InstallShield Limited Edition 2013 点击下载

快速创建安装程序工程

右击解决方案->添加->新建项目
这里写图片描述

配置基本信息

创建完成项目后,工程中会出现InstallShield的向导界面。
第一个界面名称为“Application Information”,如下图:
这里写图片描述
配置好基本信息后,节“General Information”我们展开细节进行更细致的说明,如下图:
这里写图片描述
1,Product Code
产品的MD5算法标识,一般软件或应用程序都会产生一个该标识,WINDOWS系统等需要根据该标识来唯一区分不同的产品,该标识一经生成,请不要改动。会影响卸载等功能。
后边我们介绍的在WINDOWS快速启动中,建立卸载快捷方式时,会使用该标识。
2,SetUp Language
安装程序语言,如果是发布英文安装程序则选英文,如果是中文,则选择中文语言,该设置会影响到安装程序在安装过程中的提示信息等(提示信息可以自定义,我们后续说明)
3,INSTALLDIR
安装程序的安装目录,比如在安装过程中,我们自定义指向了产品安装路径在D盘某个路径下,在程序运行过程中或者获取注册表信息的时候,需要使用产品的根目录信息。这个非常有用,在注册表相关章节我会说明。
4,DATABASEDIR
数据库安装目录,因软件安装过程中,大多一键式完成,有的软件需要使用数据库数据,在配置完数据库账号等信息后,期望将数据初始化的脚本执行,完成数据库的初始化工作,确保软件能够正常使用,因此,这个路径请大家熟记,后续会有详细说明。
5,ALLUSERS
用户选项,也就是该软件在安装过程中,仅限于当前账户还是其他账户登录后,仍能使用。依据情况设定。
6,Require Administrative Privilages
安装程序是否需要管理员权限,当安装程序中有操作诸如注册表、被打包的程序中运行的时候需要管理员权限的时候,我们需要设定为TRUE。尤其在WIN7以上版本操作系统中,如果当前登录账号非管理员账号,会有很多权限受限,当勾选后,安装程序以管理员权限运行。
7,其他功能使用较少或者默认即可

打包必备环境

在打包软件或产品时,往往一个软件需要依赖很多环境,比如C++运行时、Framework等等,为了便于传递给用户,我们期望将所有信息嵌入到安装程序中,在用户没有安装的情况下,直接从安装程序中抽取。
1,Installation Requirements
软件的必备环境,该环境可提供的信息非常少,如果用Limited Edition,仅可以提供未安装提醒,无法自动安装,满足一般对环境要求不多,客户专业性比较强,可以自己去下载相关组件并安装的情况。
2,嵌入必备软件
这里写图片描述
勾选了以上的环境后,我们就可以选择必备环境嵌入操作了。
未勾选前,软件状态为“need to be download”当我们勾选后,提示下载,下载完成后,会提示“Installed locally”。
整个过程从原理上举例说明是,InstallShield 默认安装后,是没有Framwork 4.5的本地环境安装包的,当勾选后,依据列表中的项,它从自己的安装程序根目录,找到“SetupPrerequisites”文件夹,并找到对应的“Microsoft .NET Framework 4.5 Full.prq”的PRQ文件,根据文件中标识的下载地址,从微软官方中下载Framwork。
常用prq地址点击下载
以下是PRQ文件内容,我们可以分析下:
这里写图片描述
1)标识了注册表位置
2)标识了产品类型
3)标识了本机路径
4)标识了网络获取路径
5)标识了默认安装时使用的安装程序和启动参数

那我们看看本机的下载情况:打开InstallShield 安装目录
这里写图片描述

接下来,我们要把Framework嵌入到安装包中,右击查看属性:
这里写图片描述
1)Copy From Source Media
从本地拷贝文件,相当于在当前的安装程序外,你需要额外准备一个文件夹(也可能是多个),然后安装的过程中发现没有,就从指定的文件夹中抽取(大家可以回顾下老版本的vs的Setup文件夹,里边除了一个安装程序外,大量的臃肿文件)
2)Download From Web
如果没有安装,则从网络上下载,如果网络不可用,直接退出安装。
3)Extract From Setup.exe
从Setup.exe中抽取,也就是在生成安装包的时候,会自动的嵌入到安装程序中,当安装过程中需要该环境,且客户机没有安装的情况下,会从安装包中抽取。
这种方式带了一个不好的地方,就是如果依赖环境比较多,比较大,一个打包程序生成下来时间比较长、大小也是很大的。

通过以上的介绍,如果我们的安装程序中,需要自定义必备环境,那么仅仅需要拷贝随便一个prq文件,将里边的内容仔细修改后,按照以上的步骤进行操作即可。
需要说明的是,当InstallShield的“SetupPrerequisites”文件夹,如果多了一个PRQ文件,那么再工程中的“Redistributables”列表中,刷新下就可以看到该名称的依赖环境文件。
内容较多,拆开了第二篇,大家可以继续了解。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值