四、设置安装的组件Component

打开【Installation Designer】->【Component】面板,先删掉默认的DefaultComponet,下面开始逐个添加Component。

右击【Component】新增【New Component】,命名为APP_1,与上面文件夹名对应,这里是不可以用中文的。

这 里先指定APP_1的安装路径,点击APP_1,选择右侧【Destination】,会弹出【Browse for Directory】,这里可以看到【ProgramFilesFolder】就是指C盘下的Program File。现在的目录比较乱,先删除掉【My Company Name】和【My ProductName】,然后再在【XX产品】下新建【APP_1】,这个路径就是APP_1中的文件将要安装到的路径了。

注 意,这里你点击【XX产品】,会看到INSTALLDIR,但不能修改,你可以点击【Installation Designer】->【Installation Information】->【General Information】,查看到INSTALLDIR,也是可修改的。你可能还会看到变量TARGETDIR,这个是安装过程中让用户选择的安装路径。 而在InstallScript MSI和Basic MSI工程中,安装路径变量是INSTALLDIR。

然后选择Files,在右侧面板中点击【Add】,添加文件,可以选择也可以直接拖进来。

同样,新增【APP_2】组件,与上面一样也要指定Destination。

然 后添加文件,这里我故意多加了个Folder的文件夹,上面的单目录结构,直接拖进去就可以了,但是多目录结构是不行的,需要右击选择【Dynamic File Linking】,然后打开【Modify Dynamic Links】面板,再点击【New Link】,打开【Dynamic File Link Settings】面板,然后点击【Browse】,选择App_2的文件夹,再确定就添加成功了。

还有一些和APP1、APP2同级的文件放哪呢,我们再新建一个ROOT的Component用来链接它们。

这里我们不需要指定destination了,因为这些文件是需要装在【XX产品】下的。

五、创建快捷方式

打开【Installation Designer】->【Component】面板,这里将创建APP1、APP2的桌面快捷方式,和APP1、APP2、Root的开始菜单快捷方式。

点击【APP_1】的【Shortcuts】

上图【Programs Menu】即对应的”所有程序”,【Desktop】即桌面。

右 击【Programs Menu】,选择【New Folder】来新建结构”XX公司->XX产品”。然后,再右击【XX产品】,选择【New Shortcut】,找到DemoApp_1.exe,点击【Open】,即会创建快捷方式。然后可以通过右击选择【Rename】来修改名称,通过 【Change shortcut icon】来修改快捷图标。

同 样,按照上面的步骤来新建其他的快捷方式。但是你在创建APP_2的快捷方式的时候,你会发现找不到APP_2.exe,这是因为APP_2是通过动态链 接加入进来的,所以需要重新在【File】下,将原来的APP_2.exe的链接单独加进来。右击不能删除,直接将APP_2拖进来覆盖就可以了,图标和 之前不一样了。

这里DataBaseSetting.exe我没有创建桌面快捷指示创建了开始菜单,避免桌面图标过多,具体根据实际情况。

最后,我们在跳转到面板【Project Assistant】->【Application Shortcuts】,点击左侧的【Create an uninstallation shortcut】即会创建一个卸载的快捷方式。

在回到【Installation Designer】->【Component】面板,会看到多了一个【NewComponent1】,这个组件就是卸载程序的组件,我们先把名字改成Uninstall,把快捷方式的nameh改成中文。

还有把卸载的Display Name也需要修改掉,直接改好像总是不起作用,直接点击【…】打开Select String面板,将原来的删除掉,新增一个String。

六、创建特性Features

打 开【Installation Designer】->【Organization】->【Feature】,在这里我们将创建特性Feature,我们经常安装程序的时候 会看到用户可选择的安装项,这些其实就是Feature,安装包的安装就是针对Feature来安装的。上面我们已经建好了Component,这里继续 为每一个component建一个Feature。

删除掉默认的DefaultFeature,在新建Feature. 这里和component一样不能用中文,但你可以把右侧的Display Name修改为中文,这就是让用户勾选时,显示的名字

另外,Root和Uninstall这两个Features,我们是不打算让用户选择安装的,而是默认就会装的,所以把这两个Features的Display设置为Not Visible

接下来就是要让这些Feature与Component关联起来。

打开【Installation Designer】->【Organization】->【Setup Design】面板

选中APP_1,右击选择【Associate Component】,然后再弹出的对话框中选则APP_1的Component,这样就关联上了。

到这里你可以先编译一下看看效果了,点第一个红色按钮,编译,第二个将打开编译后生成文件所在文件夹。点击“setup.exe”就可以安装了。如果你重新点击【build】,如果提示错误,可能是你没有把生成的setup所在的文件夹关闭掉。

安装已经基本成型了,但是这种皮肤、安装步骤都不一定符合我们实际的需求,所以我们都会去修改定制,下面说一下我的修改内容。

七、皮肤

打开【Installation Designer】->【User Interface】->【Dialogs】面板

点击【Dialogs】,可以看到Skins,这就是各种不同的皮肤,这里我改为“BlueTC”

下面的【All Dialogs】,就是我们在安装过程中所看到的一个个对话框

InstallShield详细制作说明(二)的更多相关文章

  1. InstallShield详细制作说明(一)

    虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂.前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程 ...

  2. InstallShield详细制作说明(三)

    八.许可协议 打开[Installation Designer]->[Behavior and Logic]->[Support Files/Billboards]面板 这里[Langua ...

  3. InstallShield详细制作说明(四)

    十.编译打包

  4. thinkPHP 模板中的语法知识 详细介绍(十二)

    原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件    ==>记住常量的是大写 1.css link .js  sc ...

  5. SQL Server 2008 R2 性能计数器详细列表(二)

    原文:SQL Server 2008 R2 性能计数器详细列表(二) SQL Server Buffer Partition 对象: 提供计数器来监视 SQL Server 如何使用可用页 SQL S ...

  6. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  7. InstallShield 12 制作安装包

    目  录 一. 二. 三. (一) 打开project... 2 (二) project助手页面... 3 1.Application Information:程序信息... 4 2.Installa ...

  8. [Android Pro] Android签名与认证详细分析之二(CERT.RSA剖析)

    转载自: http://www.thinksaas.cn/group/topic/335449/ http://blog.csdn.net/u010571535/article/details/899 ...

  9. UCOS2_STM32F1移植详细过程(二)

    Ⅰ.概述 打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件.下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程 ...

随机推荐

  1. javaEE之-------统计站点刷新量

    每一个站点都有自己的统计訪问量,可是少不了server会出现意外情况,(如断电..) 所以就须要我们在站点挂机的前段时间将这个数据存起来. 我们就须要用到站点最大的容器,application,我们採 ...

  2. Activity 中的Toast在Activity销毁后报错,解决方法,把context改成应用的

    ToastUtil.showShort(context, R.string.connection_fail); 改成 ToastUtil.showShort(BusinesslinkApplicati ...

  3. android 聊天室窗体

    public class MainActivity extends Activity { ScrollView scrollView; Button button; LinearLayout layo ...

  4. .net core的安装

    安装完成后的路径在C:\Program Files\dotnet https://github.com/dotnet/cli/issues/390 ===2017年06月29日=== 安装成功之后,配 ...

  5. 35.QQ大数据模型

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  6. Python demo working

    一.游戏1.2.3 print("-------------- Guess Number Game---------------------") num=input("G ...

  7. Pycharm 的安装

    一. Windows 安装 汉化 破解补丁激活 下载 `https://pan.baidu.com/s/1qjI9uHaw0x374rwu6H8djA` 并将 JetbrainsCrack-2.8-r ...

  8. UVA Building designing

    题目总结来说求一段序列,必须正负交替,且绝对值递增 #include <iostream> #include <cstdio> #include <cstring> ...

  9. BZOJ3130: [Sdoi2013]费用流(二分,最大流)

    Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识.    最大流问题:给定一张有向图表示运输网络,一个源点S和一个汇点T,每条边都有最大流量.一个合法的网络 ...

  10. CentOS yum安装mcrypt详细图解教程

    CentOS yum安装mcrypt详细图解教程 在Linux的发行版CentOS 6.3 系统下,LAMP(Linux+Apache+Mysql+php)环境搭建好后发现PHPMyadmin提示 “ ...