InstallShield详细制作说明(二)
四、设置安装的组件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详细制作说明(二)的更多相关文章
- InstallShield详细制作说明(一)
虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂.前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程 ...
- InstallShield详细制作说明(三)
八.许可协议 打开[Installation Designer]->[Behavior and Logic]->[Support Files/Billboards]面板 这里[Langua ...
- InstallShield详细制作说明(四)
十.编译打包
- thinkPHP 模板中的语法知识 详细介绍(十二)
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件 ==>记住常量的是大写 1.css link .js sc ...
- SQL Server 2008 R2 性能计数器详细列表(二)
原文:SQL Server 2008 R2 性能计数器详细列表(二) SQL Server Buffer Partition 对象: 提供计数器来监视 SQL Server 如何使用可用页 SQL S ...
- 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型
010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...
- InstallShield 12 制作安装包
目 录 一. 二. 三. (一) 打开project... 2 (二) project助手页面... 3 1.Application Information:程序信息... 4 2.Installa ...
- [Android Pro] Android签名与认证详细分析之二(CERT.RSA剖析)
转载自: http://www.thinksaas.cn/group/topic/335449/ http://blog.csdn.net/u010571535/article/details/899 ...
- UCOS2_STM32F1移植详细过程(二)
Ⅰ.概述 打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件.下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程 ...
随机推荐
- UMeditor百度富文本编辑器的使用
批量上传的图片在线管理没法查看图片 是因为jar包本身的Bug,这里暂时做了个替换展示.就是找到Img.js 然后搜索 img.set 替换下就好了 var url=list[i].url ; ...
- java音乐播放之IO流处理
这个类仅仅能一直播放.知道音乐结束. 比AudioCilp要好一点. import java.io.*; import javax.sound.sampled.*; public class Test ...
- Bootstrapbutton组
button组同意多个button被堆叠在同一行上.当你想要把button对齐在一起时,这就显得很实用. 基本button组 给div加上class .btn-group <!DOCTYPE h ...
- Git的日常处理流程
前提 本地有2个分支,一个是master,还有一个是local master 默认追踪origin/master local 通过git branch -u origin/master来映射 开发的时 ...
- node --- 服务一直启动
使用node xxx.js命令可以开始在服务器运行node.js程序. 可是它会占用终端的当前进程,而且当你离开服务器连接的时候(e.g.关闭终端或者Putty) node.js程序也会退出. 如何让 ...
- BZOJ 1578 DP
思路:裸的完全背包 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> ...
- 有关error PRJ0003错误的思考
作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事遇到两个编译错误: 项目: error PRJ0003 : 生成"rc.exe"时出错. ...
- Vue或React多页应用脚手架
https://github.com/zhujiasheng/vue-multipage https://github.com/MeCKodo/vue-multipage
- 摄像头驱动——V4L2框架分析
一.概述 Video for Linux 2,简称V4l2,是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口. 摄像头驱动是属于字符设备驱动程序.(分析linu ...
- U-BOOT启动流程分析--start_armboot函数(二)
第二阶段的功能: 初始化本阶段所需的硬件设备(主要设置系统时钟.初始化串口.Flash.网卡.USB) 检测系统内存映射(memory map) 将内核映像和根文件系统映象从Flash上读到RAM空间 ...