任务说明:公司一个绿色版的软件,为安装部署是需要很多的环境依赖,如 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文件地址

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

<?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 补充说明

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

InstallShield 软件打包完整教程(含添加自定义依赖环境)相关推荐

  1. 酷狗音乐的爬取,基于python,从无到有完整教程-上:搭建环境及爬取原理讲解

    酷狗音乐的爬取,基于python,从无到有完整教程,使用微软新edge作为虚拟浏览器 搭建环境及爬取原理讲解 ⬇⬇⬇ 编码环境及工具准备: 编码工具:PyCharm 所需的库: import requ ...

  2. QT打包完整教程 超详细

    "SmartQT项目" 打包流程为例: 步骤一:进入SmartQT项目,选择编译选项[1],[2]指定为Release版本编译,最后点击[3]执行编译操作; 步骤二:在SmartQ ...

  3. 深度linux安装make,linux下安装python3完整教程(依赖环境gcc,make,cmake,configure等详细解释)...

    前言:python在linux环境下面没有安装包,只支持从源码安装,本文不仅仅会完整的演示安装步骤,还会解释每一步这么做的原因以及一些关键概念的理解,包括什么是make等.本文基于centos7的KD ...

  4. Unity+KBEngine实战系列1——棋牌(含完整教程与源码)

    2019独角兽企业重金招聘Python工程师标准>>> Unity+KBEngine实战系列1--棋牌(含完整教程与源码) 分享下KBEngine + u3d做的房卡麻将,就是一般的 ...

  5. SwiftUI 精品项目之完整MOOC幕课iOS项目 含服务端 轮播欢迎页面(教程含源码)

    实战需求 SwiftUI 精品项目之完整MOOC幕课iOS项目 (教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 自动轮播 个性化注册界面 个人信息界面 带f ...

  6. macOS 音频编辑剪切软件源码支持mp3等格式(教程含源码)

    实战需求 macOS 音频编辑剪切软件源码支持mp3等格式(教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 支持剪切音频 支持复制音频 支持删除音频 支持un ...

  7. InstallShield 打包 自定义安装依赖环境

    InstallShield 打包 自定义安装依赖环境 InstallShield 2020 自定义集成AccessDatabaseEngine 配置依赖项 InstallShield 2020 自定义 ...

  8. C#基础教程(十)软件打包

    (一)前言 软件打包很多年前用过,当初用的好像是微软Install Shield Limited Edition,时过境迁,再次想做个安装文件,甚至无从下手,总结出一个原因,就是当时csdn没写篇文章 ...

  9. PyQt5 教科书级完整教程(一)安装与入门

    文章目录 一.安装与环境配置 1.1 外部库下载 1.2 Pycharm 配置 1.2.1 Qt Designer 1.2.2 PyUIC 1.2.2 Pyrcc 1.2.3 pyhton 程序打包 ...

最新文章

  1. Spring(ApplicationContextBeanFactory)
  2. python 小数点精度_Python 3浮点小数点/精度 - python
  3. java 调内存_java内存设置
  4. golang runes 字符串 互转
  5. ckeditor_3.6.6.2+CKFinder2.0.2配置
  6. OPGL+GLFW+GLEW配置详细步骤
  7. mysql创建数据库与表_PHP MySQL 创建数据库和表 之 Create
  8. 2021级C语言大作业 - 小鸡弹跳
  9. Git教程_3 IDEA管理
  10. Tomcat运行原理
  11. postgresql mysql数据类型_postgresql+java数据类型对照
  12. 无涯社区分享:链网+DID,区块链应用破局的关键 | ArcBlock 活动
  13. 微信公众号连接服务器显示404,WordPress 微信机器人自动回复显示 404 错误解决办法...
  14. 项目启动大会和项目开工会议的区别
  15. pm2 start 带参数_pm2
  16. Java对List集合中的对象的某个中文字段按照拼音首字母进行排序
  17. 【云原生|中间件】我们为什么要使用DCM?
  18. 项目、习惯以及Todolist的区别
  19. Chrome游览器下载
  20. 短信通知-阿里大鱼 申请AK 发送Until

热门文章

  1. csu:1919: 不醉不归
  2. 【Matlab】Matlab如何将脚本m文件打包成App
  3. 基于SpringBoot的校运动会管理系统的设计与实现
  4. 关于NGUI的常见疑难问题的解答
  5. 【工具使用】Soap UI WebService 使用方法
  6. 使用网线通过远程桌面实现局域网内快速传输文件
  7. 基于大数据平台的毕业设计01:基于Docker的HDP集群搭建
  8. Oracle的select语句进阶和函数
  9. 《python 黑帽子》 示例 :UDP客户端
  10. ITIL 4 Foundation题目-5