原文:How to: Installshield做安装包时如何添加文件

我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考

首先我想再大声地说一遍:不要再跟我说英文看不懂了!!!!你做了程序员这一行,就得逼自己去看懂英文!!!说看不懂的赶快转行吧!甭在这行混了!去工地搬个砖也有四五千了!不比你在这里一边牢骚一边拿两千强啊!谷歌度娘都免费提供翻译功能!别再跟姐叨叨!姐不是翻译机!!!

以Installscript Project为例:

打开一个Installscript Project,在Project Assistant页找到Application Files项,这里就是向导助手里用户可以添加文件来做安装包的地方

默认的,你会看到第一个下拉框里的选项为All Application Data,点开这个下拉框,会显示你所有已经定义好的Feature。IS允许用户不同的Feature添加不同的文件,所以这里可以根据需要选择feature后添加对应文件------------如果你看不懂这句话,那就选默认项All Application Data吧。

中间那个大大的框,总节点是Destination Computer, 不解释,看不懂的快合上笔记本电脑,从窗口丢出去!

下面几个节点,姐来一一解释:

Script-Defined Folders:这是自定义路径,有什么用呢?百度“Installshield多路径安装”,你会有惊喜。这个路径是用来给用户提供一个额外可选择的路径而存在的。不明白?打个比方,你有个软件,有一个客户端,一个服务端,打包在一个安装包里了,用户要安装客户端,你得让用户自己选爱装哪儿装哪儿;用户还要安装服务端,你也得让用户选爱装哪儿装哪儿;于是,你就得提供两个页面,一个是客户端页面,要有路径选择功能,一个是服务端页面,也要有路径选择功能。懂了吗?没懂再读三遍。

Application Target Folder: 这个就是一个安装包里最核心的路径----目标路径TargetDir, 在Basic MSI Project 和Installscript MSI Project 里表示为[INSTALLDIR]。 如果你要做一个最简单的,没有任何弯弯绕的安装包,那么文件一定是添加在这个地方的,这个路径在实际安装的时候可以让用户选择安装到哪里。如果是Basic MSI Project 和Installscript MSI Project , INSTSLLDIR一般会表现在 ProgramFilesFolder下,没关系,反正把文件添加在INSTSLLDIR下即可

很多人第一次接触不知道如何在安装时候出现路径选择界面,参阅我另外一篇博文

How to:installshield安装包怎样才能出现选择路径的界面?

http://www.cnblogs.com/Cindy_weiwei/archive/2011/02/22/1961244.html

Program Files: 这个就是鼎鼎大名的C:\Program Files啊,不知道为什么很多人第一次做安装包时候会把文件添加在这里,然后来哭诉安装包不能选择路径,难道是因为大部分安装包的默认路径都是C:\Program Files,所以误导了大家吗?这个路径是死路径,在这里添加的文件,永远只安装在C:\Program Files下,更确切地说是安装在 系统盘\Program Files下;这个路径是只要windows系统正常运作,必定存在的一个路径,所以一般安装包的默认路径一定是这个。很多人会有需求说比如我想把路径定死在D盘,这种做法我觉得是很不可取了,因为你不能确保D盘符一定存在,但是系统盘是一定存在的

Program Files(64-bit):无需多说,含义同上,只不过是64位操作系统下的Program Files;注意在64位下,上面那个路径会变成 系统盘\Program Files(X86)

Support Folder: 就是脚本里的SUPPORTDIR, 这个下面添加的文件不会被安装到目标机器上,这里面的文件只在安装过程中有效,可以在脚本里进行进一步操作

Windows: 下面的三个路径都是系统路径,不多说了,都是死路径,根据实际需要来选择。

---------------------------------------我是分割线-----------------------------------

再来说一说Basic MSI Project和Installscript MSI Project

AppDataFolder:系统当前用户的Application Data文件夹,举例:

C:\WINNT\Profiles\UserName\Application Data ;这个是死路径

CommonFilesFolder:系统中Common Files文件夹 ;这个是死路径

ProgramFilesFolder\My Product Name[INSTALLDIR]:这个就是安装包目标路径,如果普通安装包,就把文件添加在这里

How to: Installshield做安装包时如何添加文件的更多相关文章

  1. 【海洋女神原创】How to: Installshield做安装包时如何添加文件

    我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考 首先我想再大声地说一遍:不要再跟我说英文看不懂了!!!!你做了程序员这一行,就得逼 ...

  2. Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION

    原文:Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION Installshield获取安装包版本的系统变量为IFX_PRODUCT_VERSION 当笔记记下 ...

  3. Apt下载安装包时Hash校验和不符

    近期我的电脑在使用apt-get或aptitude下载Linux安装包时总是出现如下图所示的Hash校验和不符的问题.以至于下载过程被频繁中断,不得不反复运行apt-get或者在aptitude中按g ...

  4. Python 解决Python安装包时提示Unable to find vcvarsall.bat的问题

    解决Python安装包时提示Unable to find vcvarsall.bat的问题   by:授客 QQ:1033553122 问题 Python安装包时,提示Unable to find v ...

  5. HM NIS Edit制作安装包时检测是否有.net4.6环境,没有的时候自动安装。

    把.net4.6安装包打包进安装程序. 关键脚本如下: 头部引用字符串对比库 !include "WordFunc.nsh" 新建一个Section,.Net4.6的文件版本号是4 ...

  6. Installshield 打包安装包心得

     制作简单的安装软件 声明:下面的教程,是把读者当做完全没接触过IS的角度来制作的. 1. 启动InstallShield 12.建立一个InstallShield MSI Project,如图: 2 ...

  7. 有关VS2008制作安装包时遇到的问题详解

    公司最近要做一个安装包,然而在做的时候遇到好多问题,这里我一一记录下来 一.先用VS2008建一个Setup项目,添加你需要打包的文件,这里我就不具体介绍了,网上一搜都好多,这时我们一般都需要在安装前 ...

  8. 2018.6.7. 云服务器Centos系统使用yum或者rpm安装包时出现问题,安装时报出错误:

    当我向终端输入 sudo yum groupinstall chinese-support 语言安装包的时候显示下面的错误 error: rpmdb: BDB0113 Thread/process 3 ...

  9. Python 安装包时选择 python版本

    安装了两个版本的python 其中一个版本为2.7 专门为python 2.7安装包使用的语句为 升级pip E:\Python27\python -m pip install --upgrade p ...

随机推荐

  1. php学习之路:WSDL详细解释(两)

    3.定义服务使用的逻辑消息 当服务的操作被调用时.服务被定义为消息交换.在wsdl文档中,这些消息被定义message元素. 这些消息由称之为part元素的部分组成. 一个服务的操作,通过指定逻辑消息 ...

  2. sun.misc.BASE64Encoder我找不到jar一揽子解决方案

    1.合适的项目 --> 属性(Properties) --> java bulid path --> Libraries -> jre System Library(点加号在前 ...

  3. js 网上见到的动画函数 备份

    <script> function startMove(obj,json,fn){ clearInterval(obj.timer); obj.timer = setInterval(fu ...

  4. Android中部署自己的su

    本人博客原文 首先把你的自己的su的放到Android应用程序project的assets文件夹,为了和系统的su区分,我自己的su文件叫做sur. 另外我这里没有考虑x86架构的cpu的手机. 废话 ...

  5. ssh无密码登陆(转)

    [0]写在前面 由于ssh 实现的是免密码登陆,大致步骤是: 0.1) client通过ssh登陆到server: 0.2) server检查家目录下的.ssh文件, 并发送公钥文件 authoriz ...

  6. malloc实现原理

    记得早一段时间,看到一本书上写过delete的一个..今天突然找啦一下资料: malloc()是C语言中动态存储管理 的一组标准库函数之中的一个.其作用是在内存的动态存储区中分配一个长度为size的连 ...

  7. JavaScript 实现Map效果

    var map = {}; // 类似:Map map = new HashMap(); map[key] = value; // 类似:map.put(key, value); var value ...

  8. Telephone Lines USACO 月赛

    以前做过这套题目 这个题又重新写了:http://www.cnblogs.com/jh818012/archive/2013/05/05/3182681.html 还是以前的思路 一直错在一个地方:决 ...

  9. SQL Server表分区详解

    原文:SQL Server表分区详解 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆 ...

  10. poj3417 Network 树形Dp+LCA

    题意:给定一棵n个节点的树,然后在给定m条边,去掉m条边中的一条和原树中的一条边,使得树至少分为两部分,问有多少种方案. 神题,一点也想不到做法, 首先要分析出加入一条边之后会形成环,形成环的话,如果 ...