InstallShield安装包中集成第三方安装包的方案选择[转]
我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项。
第三方安装包的介质类型有很多,主要有:单独的一个Setup.exe,单独的一个msi包,或者是类似光盘结构的一组文件及文件夹的安装包。
首先,如何在InstallShield中添加第三方安装包:
如果是单独的Setup.exe或单独的msi包,可以将他们添加到【Behavior and logic】 -> 【Support Files】 -> 【Language Independent】中。
如果是一组文件以及文件夹的安装包,可以将他们添加到【Behavior and logic】 -> 【Support Files】 -> 【Advanced Files】-> 【Disk1】中。
其次,第三方安装包在InstallShield中的路径如何获取:
如果是单独的Setup.exe或单独的msi包, 可以通过SUPPORTDIR获取,然后组合出第三方安装包的执行路径。(注意:InstallScript工程中,SUPPORTDIR是一个系统变量,可以直接利用;而在MSI工程中,SUPPORTDIR是一个Property,所以需要通过MsiGetProperty读取)
如果是一组文件以及文件夹的安装包,可以通过SETUPEXEDIR方安装包的执行路径。(注意:这里SETUPEXEDIR的读取方式同SUPPORTDIR)。
最后,调用方法:
如果是.exe文件,可以通过LaunchAppAndWait直接调用。如果是.msi文件,可以通过LaunchAppAndWait直接调用Windows Installer安装引擎,然后以参数的形式给入.msi路径。
上述方式,只适用于主安装包是.exe的情况,如果是将主安装包做成单独的.msi包,其中SETUPEXEDIR将无效。
另外,SETUPEXEDIR是InstallShield 8或9之后才有的一个系统变量,所以大家只用之前,可以通过帮助文档确认该变量的使用限制。
InstallShield安装包中集成第三方安装包的方案选择[转]的更多相关文章
- InstallShield安装包中集成第三方安装包的方案选择
原文:InstallShield安装包中集成第三方安装包的方案选择[转] 我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项. 第三方安装包的 ...
- Android中集成第三方库的方法和问题
Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...
- Ionic2中集成第三方控件Sweetalert
Ionic2混合开发,入坑系列:Ionic2中集成第三方控件Sweetalert 注:Sweetalert2已经可以直接从npm中下载安装 npm install --save sweetalert2 ...
- Hadoop MapReduce程序中解决第三方jar包问题方案
hadoop怎样提交多个第三方jar包? 方案1:把所有的第三方jar和自己的class打成一个大的jar包,这种方案显然笨拙,而且更新升级比较繁琐. 方案2: 在你的project里面建立一个lib ...
- Android中集成第三方支付
常见的第三方支付解决方案 支付宝支付 微信支付 银联支付 Ping++统一支付平台(需要继承服务器端和客户端) 短信支付 支付宝的集成流程 相关资料链接: 支付宝支付指引流程:支付指引流程 支付宝An ...
- Django项目中集成第三方登录时出现的错误
原以为是被反爬 没想到 总结:这里的http应该是https协议,以后要更加小心 了,不能犯这种低级错误
- 如何在 ASP.NET MVC 中集成 AngularJS(1)
介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术.例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API 服务.另外,还有最新的数据库技术.最新 ...
- MVC 中集成 AngularJS1
在 ASP.NET MVC 中集成 AngularJS(1) 介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术.例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 R ...
- 如何使用AdvancedInstaller在安装包中运行一个.bat文件
原文:如何使用AdvancedInstaller在安装包中运行一个.bat文件 1, 首先要保证你的Files and Folders模块下的Application Folder文件夹下包含你要运行 ...
随机推荐
- -_-#【RequireJS】Define a Module
define({ color: 'black', size: 'unisize' }) define(function() { // Do setup work here return { color ...
- IOS的 testflight测试设置
管理员邀请参与者 1.登录开发者账号https://developer.apple.com/account 2.进入后,点击ituns connect 3.点击进入用户和职能 4.在用户栏点击添加按钮 ...
- C语言变量的理解
1.定义: 变量是一段有名字的连续存储空间.在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间.下面,我们来理解怎样定义一个变量.例如去住酒店.第一步,前台登记:住几 ...
- CodeForces 593A
题目链接: http://codeforces.com/problemset/problem/593/A 题意: 给你n个字符串,字符串只包含小写字母,从中选取任意个字符串,拼成一封信,这封信中至多有 ...
- cf702A Maximum Increase
A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 【C#】详解使用Enumerable.Distinct方法去重
Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...
- ubuntu 下修改host文件
原文地址:http://www.cnblogs.com/kingcat/archive/2012/02/23/2364509.html 有些时候,我们需要让某些域名指向本地,来实现调试,下面介绍下ub ...
- PL/SQL 9.0工具技巧
1. 设置自动替换 tools--preferences--User interface--Editor--Autoreplace 2.
- C#快速剔除字符串中不合法的文件名或者文件路径字符
C#快速剔除字符串中不合法的文件名 string strFileName= "文件名称"; StringBuilder rBuilder = new StringBuilder( ...
- HDOJ 5073 Galaxy 数学 贪心
贪心: 保存连续的n-k个数,求最小的一段方差... .预处理O1算期望. .. Galaxy Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...