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工程包源代码文件.下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程 ...
随机推荐
- ArcGIS api for javascript——显示一个信息窗口
描述 这个示例展示了在用户单击地图时如何在InfoWindow中显示信息.信息窗口是一个dijit (Dojo widget).信息窗口能够包含文本,字符,图片和任何通过HTML表示的事物.这个例子在 ...
- Linux软防火墙ACL匹配的优化点
首先.请求不要再诬陷Netfilter.尽管它有一些固有性能损耗,但敬请不要将iptables和Netfilter等同,假设你要抓元凶,请直接说iptables,而不要说成Netfilter! ...
- unix mkdir命令的使用方法
[语法]: mkdir [-m 模式] [-p] 文件夹名 [说明]: 本命令用于建立文件夹,文件夹的存取模式由掩码(umask)决定,要求对其父文件夹具有写权限,文件夹的UID和GID为实际 ...
- How to search Installed Updates
Windows本身的控制面板中自带的搜索,无法根据补丁编号进行搜索 可以将补丁信息导出到文本,再用文本编辑器进行查找 https://www.concurrency.com/blog/w/search ...
- nyoj--19--擅长排列的小明(dfs)
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难 ...
- 从 dig(nslookup) bind —— windows 下的域名解析服务器信息的查看
dig(domain information groper,之所以选择这三个词,在于这三个词的首字母构成的词 dig 也有探索挖掘的含义)本身是 Linux 下的查询 DNS 信息的工具,功能类似 n ...
- 局域网ARP病毒的清理
局域网ARP病毒的清理 作者:IT动力源 来源:IT动力源收集整理 现在局域网中感染ARP 病毒的情况比较多,清理和防范都比较困难,给不少的网络管理员造成了很多的困扰.下面就是个人在处理这个 ...
- 在不足256M内存的机器上启动RHAS 3时总要停顿10秒的问题
在VM里安装rhas3.0,由于只分配了256M RAM,系统起动总是提示不足256M.我查了一下[root@rhas3 mrtg]# grep -ri "Normal startup wi ...
- android事件学习
一.android处理事件有两种形式. 1.基于监听的事件处理,就是通过setXxxListenter()进行处理的. 2.基于回调的事件处理,就是View类内部的onTouchEvent(),一般是 ...
- 我比xx强在哪里?弱在哪里?
向下管理? 向上管理? 自我形象? 人机关系运作? 弱项不在管理方面: 在向上的人际关系处理和机会把握方面.