上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一
7. 点击引导条上的Application Files

我们将在这里对安装路径进行微调,并且为每个Feature指定需要安装的文件

这里我不想使用Program Files | Company Name | Product Name这个路径,我想使用Program Files | Product Name,我直接点击选中My Product Name[INSTALLDIR]拖动到ProgramFileFolder下,还可以直接将My Product Name 改成自己想要的文件夹名字

接下来,为每个Feature指定要安装的文件。

打开这个下拉列表,所有的Feature都在这里,按顺序来给每一个Feature建立文件夹,并且导入所需的文件。

选择第一个Feature, 即Server,点击My Product Name[INSTALLDIR]节点,右键点击,在菜单上选择New Folder来创建一个文件夹。

创建一个Server文件夹,这个文件夹将用来存放该组件需要的一些文件。

再在Server文件夹下创建一个icon文件夹,存放该组件所用的图标。

然后为该Feature添加安装时该Feature要安装的文件。

这里我们建立的icon文件夹是用来存放这个feature在后面要建立快捷方式时使用的图标的。为这个icon文件夹添加相应的图标文件,并且记住图标文件的来源文件夹,后面设置快捷方式的时候要用。

点击选中要添加文件的文件夹,然后点击右下角的Add Files,然后添加文件

接下来我们为Feature添加文件夹,如果这个文件夹中的全部文件都为这个Feature所需。添加文件夹的好处在于只要文件夹位置和名称不变,那么文件夹里面的文件都是动态加载的,有多少加载多少,不用考虑文件名的改动带来的影响。

点击选中要添加文件夹的文件夹,然后点击右下角的Add Folders,然后添加文件夹。

选中文件夹,点击确定。

会询问你是否要使用动态文件链接,我都选择确定,好处就在于我刚才上面所述。

显示了源文件夹,如果这个文件夹下有子文件夹,并且也需要一并添加进来的话,务必钩选Include subfolders选项。

这里还允许做一些简单设置来包含或者排除一些特定文件,支持通配符。

点击OK确定加入文件夹。

如法炮制为每个Feature建立文件夹,并且添加文件,最后效果如图所示

Document这个Feature,除了文件所用的图标外,什么都不要添加,后面我们将用安装时实时拷贝的方式来拷贝文档进来。

8. 接下来我们为可执行文件创建快捷方式。

点击引导条上的Application Shortcuts

点击New新建一个快捷方式

选择一个要建立快捷方式的Feature。

如果要建立快捷方式的程序为非.exe形式,请把Files Of选择选为All Files(*.*)格式。

我们的程序安装目标路径设置在Program Files下,因此双击[ProgramFilesFolder]打开,层层点击进入。

我们这里要为client.bat建立一个快捷方式,因为这个是启动用的批处理文件。

Installshield可以自动监测到.exe文件的存在,自动生成快捷方式,用户只需要做一些适当修改即可。

新建的快捷方式将出现在这里,名字不好听,样子也不好看,我们将为它改一个名字,并且换一个图标。

选中快捷方式,点击Rename,并且为这个快捷方式改一个适当的名字。

注意右边的几个选项。

Create shortcut in Start Menu,将在开始菜单里创建一个快捷方式。

Create shortcut on Desktop,将在桌面上创建一个快捷方式。

Use alternate shortcut Icon,替换快捷方式的图标

Associate a file extension with the shortcut’s target,没用过,不知道什么意思。

我们在这里将只创建开始菜单的快捷方式,因此钩选第一项。

钩选第三项,并且点击Browse来浏览图标。

请回想刚才在为Feature添加文件的时候,每个feature都添加了对应的icon。这里,请把浏览的文件夹设定为刚才添加icons所用的文件夹,通俗的说,就是你刚才从哪儿添加一个图标进feature的,现在还是从哪儿添加的这个图标。

其实这一点我是一直很费解的,当初不知道要这么选择图标,随便从外面一个任意文件夹里添加了一个图标,以至于打包后死活找不到图标,后来经过试验才知道这个被选中的图标文件要拷贝进来,打包进安装文件才可以。这一点上不能不提一下visual studio,这个工具做安装程序虽然功能一般,但是思想还是不错的,当它的组件指定拷贝了图标文件后,在建立快捷方式时,快捷方式使用的图标是指向虚拟的安装目标路径下的图标文件的,而不是指定到这个实实在在的源文件夹。这一点差别就体现出了思想上的差异。

如法炮制为每个Feature指定快捷方式,Document除外,因为我们在这个feature里除了图标文件外什么都没有添加。

至此我们为每个可执行程序添加了开始菜单下的快捷方式。

我们再切换去Installation Designer,找到System Configuration | Shortcuts。

看到快捷方式在开始菜单中是以 公司名 | 软件名 | 快捷方式   这种形式存在的。事实上我是不喜欢这种形式了,想想点开一层还有一层,不如直接了当来得干脆,因此做一些修改。

这里我改成了如下设置

不要告诉我你不会改,直接拖动Test文件夹往Program Menu(即开始菜单下的那个“所有程序”)下一塞即可,然后删除掉多余的Company Name文件夹。

9. 可能刚才在Project Assistant界面有人已经注意到了左边栏上More Options下Create an uninstallation shortcut这个诱人的字样了。

可是我要告诉你,如果你选择了这种方式建立卸载快捷方式的话,你会很沮丧地发现:

a) 似乎只有在安装某个feature的时候这个卸载快捷方式才会出现(当然,就是那个default feature,这种要命的feature形式决定了每个文件或者快捷方式都必须明确地归属到某个feature下),因此,当你的客户只选择了其他feature安装时,这个卸载方式不会出现,而他必须去“添加或卸载程序”里面去卸载

b) 如果你写脚本使得安装时会拷贝一些外部文件进来,那么这些文件在这种卸载方式下是删除不掉的。(如果你确实想保存这些文件,你可以在脚本里设置它们属性为permanent,这个属性可以保证什么卸载方式都不能删除你的这些文件)。

所以这里我们忽视这个卸载快捷方式的存在,而将在后面采用脚本形式实现完美卸载。

10. 点击引导条上的Application Registry

向注册表写键和键值,由于本工程不需要,忽略之。有需要的朋友可以查阅相关资料,不难。

11. 点击引导条上的Installation Location

这个是用来设置安装包的语言的,选择了多个语言后,用户可以在安装界面开始的时候选择安装时所用的语言;不过作为一个公司产品来说,这么偷懒,客户的印象是要打折扣的,所以还是选个单语言吧,该什么语言的安装包就什么语言的安装包,各归各。

不过你又会沮丧地发现,如果要选择一种其他语言作为Default Language,好像又报错了。

这个问题当时折腾了我一个星期(当然那时候才接触Installshield,还一窍不通),最后问了技术支持才得以解决。

切换去Installation Designer,找到Installation Information | General Information,看到String Tables下面是什么?对,所有你选的语言都列出来了,选中你要的语言,右键,选择Make Default,OK,再切换回Project Assistant去把所有不要的语言统统去掉钩选即可。 

看到此处,已经变成了English为默认语言了。

12. 点击引导条上的Build Installation。

打包安装盘的设置,本人从来不用这个选项,都用工具条上的Release Wizard。

至此,第一部分基本完成。如果是一些没有特别要求的安装包,这部分讲解的内容足够可以做一个基本的安装包了

下一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一

转载于:https://www.cnblogs.com/Cindy_weiwei/archive/2009/05/19/1460230.html

【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(二) --基本设置二...相关推荐

  1. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一...

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 上 ...

  2. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(三) --高级设置一 上一篇:一个完整的安装程序实例-艾泽拉斯之海洋女神出品(二) --基本设置二 第二部分:脚本编程 在开始 ...

  3. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(四) --高级设置二...

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 上 ...

  4. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)...

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版) 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(五) ...

  5. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(二) --基本设置二...

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(二) --基本设置二 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(二) --基本设置二 上 ...

  6. 一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一...

    一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(一)---基本设置一 原文:一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(一)---基本设置一 前 ...

  7. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一...

    上一篇:一个完整的安装程序实例-艾泽拉斯之海洋女神出品(二) --基本设置二 第二部分:脚本编程 在开始进行编程前,我们先明确一下我们要用编程来弥补前面设置的哪些功能的不足 1. 显示软件许可协议 2 ...

  8. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 (已补充第三部分完整版)...

    上一篇:一个完整的安装程序实例-艾泽拉斯之海洋女神出品(四) --高级设置二 转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样:如需刊登,请与作者联系.little_fairycat@126. ...

  9. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一...

    前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assista ...

最新文章

  1. hdu2087 剪花布条 暴力/KMP
  2. python初学者可以做的金融小程序-Python入门 —— 用pycharm写一个简单的小程序3...
  3. SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
  4. Facebook AI 提出10亿级数据规模的半监督图像分类模型,ImageNet测试精度高达81.2%!...
  5. C语言回调函数 钩子函数,回调函数和钩子函数的说明
  6. 简述 Linux 文件系统的目录结构
  7. [Color]彩色转灰度算法彻底学习
  8. C语言实现九九乘法表,以for循环为主
  9. c需要简单编程语言,教你C 语言简单编程速成
  10. 手机屏幕坏了怎么把数据导出来_手机屏幕失灵怎么办 手机屏幕失灵解决办法【详解】...
  11. Tomcat下访问HTML页面乱码的解决方法
  12. 尚硅谷java——项目一 家庭收支记账软件
  13. STM32L476入坑-1
  14. Function.identity()初探
  15. 购物全返模式是什么?解析购物的盈利模式
  16. 局域网内共享打印机的几种方式
  17. CA证书签发系统(web版)
  18. 【透视课笔记】L2室内空间与人物
  19. Centos下数据写入MySQL数据库汉字是????
  20. php 新闻搜索功能,浅谈国内通用搜索引擎现状

热门文章

  1. ubuntu19.10安装codeblocks20.03
  2. Flask/Django/Tornado语法对比(持续更新中)
  3. Learning representations by back-propagating errors原文解读
  4. 论文原文解读汇总(持续更新中)
  5. keras版本 str object has no attribute decode
  6. 矩阵论:线性空间与线性变换
  7. html5画板功能,JS实现canvas简单小画板功能
  8. 自定义LinkedList
  9. Oracle EM 12c
  10. linux 运维视频集合