跟我学习InstallShield(1)

来源:互联网 发布:php采集源码 编辑:程序博客网 时间:2024/05/17 13:43
跟我制作安装包 ----byRuralMouse
假想的安装包与假想的约束

一天下午,某某项目经理找到我,要求我做一个安装包,并和我讨论了所有的约束,下面是我们的对话:

经理:现在忙吗?

我:还行,刚处理完手头的工作,暂时还没有新的安排,有什么事吗?

经理:很好,帮我制作一个FARS比对引擎的安装包。

我:要打包哪些文件?

经理:给,把我的U盘插到你的机器上。

(插U盘)

经理:上面有两个文件夹,分别叫做“比对控制器”和“比对服务器”,这里面所有的东西都需要打在一个 安装包里面。(旁白:文件夹里面的内容如下图所示:)

要打包的文件内容

我:呃,两个文件夹里面有很多相同的文件,为什么要有两个文件夹,什么意思?

经理:是这样的,我们的FARS中,核心比对子系统采用分布式部署,整个系统中只会部署一个比对控制器, 但是可以部署多个比对服务器。整个系统中可能有一台机器上同时部署比对控制器和比对服务器,在制作完成后的安装包 里面要让用户或工程实施人员选择安装哪个模块;为了区分比对控制器和比对服务器必须使用的文件,我根据模块划分 把他们放到了两个文件夹里面,只要把文件夹里面的内容放到客户机器上就是相应的程序。因为比对控制器和比对服务器 有相同的依赖模块,所以两个文件夹里面有相同的内容,在制作安装包的时候不要重复的安装这些文件。

我:哦?就是说安装包里面要运行用户选择要安装的模块,我知道了。还有其他的要求吗?

经理:有,但是,不写脚本的话只能完成这些要求,你先熟悉一下InstallShield,在下一个例子中我们在进行改进。

我:好的,那我开动了。

经理:好。

安装前的设计与准备

        这个安装包很简单,只要让用户选择安装什么模块就可以了。我需要做的是在用户做出选择后可以正确的把指定模块需要的 文件拷贝到指定位置。为了避免出错,我建立了一个单独的文件夹叫做Example1用来存放制作安装包所需要的源文件和工程文件。 我没有按照经理给我的文件夹的形式存放源文件,而是在Example1下面建立了三个文件夹:MatchControl用来存放仅用于比对控制器的 源文件,MatchServer用来存放仅用于比对服务器的源文件,Common用于存放这两个模块都需要使用的源文件。做好这些后, 我启动了我的InstallShield。

InstalScript MSI Project向导

        在Start Page出现后,我毫不犹豫的点击了Create a new Project,这时弹出了New Project对话框,切换上面的Tab页到Windows Installer选项卡,选中InstalScript MSI Project,在Project Name:下面的编辑框输入了FARSMatchengine,然后在 Location 下面的编辑框中输入了我的Example1文件夹所在的路径,如下图所示,然后断然的点击了OK按钮。

NewProject界面选择与输入

这时InstallShield跳到了project assistant界面,我们今天的例子从这里开始,使用向导可以简化很多操作, 它可以方便的帮助我们实现很多功能,更专业的定制可以通过Installation Designer进行设计。 project assistant界面就是一些箭头,通过点击向左或向右的箭头可以跳到不同的向导界面,也可以直接点击下方一排图标下面的 链接跳到指定的向导界面。初次使用,我们还是按顺序来。

         首先点击Application Infomation链接,进入到Application Infomation界面,界面如下图所示,Application Infomation界面 主要用于设置安装包文件setup.exe的属性信息,包括公司信息、软件及版本信息,本例中我们只改变一下公司名称,其余的使用默认。

Application Infomation界面选择与输入

        Installation Requirements界面用于设置安装需要满足的先决条件,在这里可以指定目标机器的操作系统要求,应用软件环境要求, 也可以自定义安装约束,在目标机器上搜索指定文件,本示例采用了所有的默认设置。

        切换到Installation Architecture界面,我们要在这里设置安装类型,允许用户选择自己要安装的模块。选择Yes按钮,将Installation Architecture下面的图标命名为MatchEngine,然后两次点击New按钮,在MatchEngine下面添加MatchServer和MatchControl两个选项,并将 MatchServer设置为默认。设置完成后如下图所示:

Installation Architecture向导界面设置

        点击左侧的Setup Design链接,跳转到Installation Designer界面,修改这里的名称与Installation Architecture向导界面一致 并为各个属性添加描述,如下图所示,如果要将每个属性安装到不同的路径可以在最右侧界面的Destination处进行设置。

Installation Architecture设计界面设置

        点击Project Assistant选项卡后接着点击下面的Application Files链接,在这里将FARSMatchEngine拖动到[ProgramFilesFolder] 下面,去掉原来的公司名称文件夹(个人喜好,哈哈)。然后在上面的ComboBox下拉框中依次选择MatchEngine、MatchControl和MatchServer 并相应在右侧添加Example1下面Common、MatchControl和MatchServer下面的文件,通过准备阶段的设计,这里应该不会出现文件选择错误的 问题。

        点击Application Shortcuts进入快捷方式选项卡,InstallShield 的向导已经自动为所有的exe添加了快捷方式,我们在这里可以修改 快捷方式的名称、位置和图标,也可以将指定的exe与目标机器上特定的文件扩展名相关联。胡乱的修改了一下快捷方式的名称并添加了 一个卸载的快捷方式,如下图所示,(很丑,我会在后面的例子中进行修改)我离开了这个界面。

Application Shortcuts向导界面设置

        Application Registry界面用于在目标机器上写注册表项,本示例没有这个要求,飘过。

        Installation Localization界面用于设置安装包界面语言,只选择了“中文(中国)”,完成了这个界面的设计。

        终于到了向导的最后一步Build Installation,在这里可以设置安装包最终的形式,我只使用过单文件安装包和CD-ROM两种形式, 顾名思义,前者是将所有的安装包文件打包到一个单一的文件里,后者可以以不同的形式刻录到光盘上,一般会生成一个自启动文件。

        切换回Application Files链接,观察右侧的Link To下面的内容,可以看到一些带“<>”的内容,这里指出了源文件的位置信息, 我们可以通过修改其对应的值来修改源文件的位置,在前面的设计中我将源文件与工程文件放到了一起,下面就可以知道我这么做的好处。 点击Installation Designer选项卡,找到Media下面的Path Variables并点击,在右侧Name下面就可以看到尖括号中的名称,仔细观察一下 各个名称的取值,并将Defined Value修改如下图所示。这样无论工程拷贝到什么位置,都可以正常的编译。

Path Variables界面设置

至此一个简易的“安装包”就完成了,整个安装工程中有用的文件除了工程文件外都保存在Script Files文件夹下。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 中考结束了成绩差的学生怎么办 我儿了眼角模不好了怎么办 打了2次催产针没反应怎么办 高中体检学生隐私被同学看到怎么办 要出去旅游刚好遇上月经期怎么办 兵检的时候还在高中怎么办 人流后带上环20天白带很黄怎么办 武警义务兵训练的时候没合格怎么办 小孩考试考的不好·家长怎么办 怀孕了不小心碰了屁股疼怎么办 新密职教中心开学军训有点慌怎么办 房产证是士兵证办的退伍后怎么办 士兵证办的银行卡退伍了怎么办 看左上牙后引发上颌窦炎怎么办 老板克扣进件加班工资应该怎么办 医生给婴儿按嘴巴碰到喉咙痛怎么办 事故逃逸人死对方要钱太多怎么办 毕业工作未满一年辞职档案怎么办 淘宝上买的东西客服不理怎么办 蚂蚁借呗还款后没显示还款怎么办 王者荣耀什么英雄都打的很烂怎么办 军校参加了政审体检误了怎么办 如果老板搬迁不给工人补偿怎么办 下面的毛很多又掉的厉害怎么办? 想去美国开饭店要怎么办签证 在沙漠中旅游如果车子坏了该怎么办 小磨床平面磨出来很粗怎么办 玩cs鼠标单点总是连点怎么办 论文出现计算上的错误该怎么办 不戴头盔违法扣分怎么办不了缴费 去法国会说英语不会说法语怎么办 企业有很多费用没有正式发票怎么办 我二张一万元的作废发票掉了怎么办 小规模上月开错税率的票怎么办 一般纳税人开票税率开错了怎么办 电信电子发票代表号码错了怎么办 发票备注栏项目名称写了两遍怎么办 苏州出入境手撕发票弄丢了怎么办 电脑下载过播放器还是不播放怎么办 局域网内的电脑无法互相访问怎么办 浏览器拖动滑动线页面会跳动怎么办