文档章节

Inno Setup目录常量

yale8848
 yale8848
发布于 2015/04/07 10:33
字数 1652
阅读 773
收藏 3
{app}
应用程序目录,这是用户在安装向导的选择安装目录页里面所选择的。
例如:如果你使用了 {app}\MYPROG.EXE 作为一项并且用户选择了“C:\MYPROG”作为应用程序的目录,那么安装程序就会将它转换成“C:\MYPROG\MYPROG.EXE”。

 

{win}
系统的 Windows 目录。 例如:如果你使用了 {win}\MYPROG.INI 作为一项并且系统的 Windows 目录是“C:\WINDOWS”,那么安装程序就会将它转换成“C:\WINDOWS\MYPROG.INI”。

 

{sys}
系统的 Windows 系统(System)目录(在 Windows NT/2000 下是 System32)。 例如:如果你使用了 {sys}\CTL3D32.DLL 作为一项并且系统的 Windows 系统目录是“C:\WINDOWS\SYSTEM”,那么安装程序就会将它转换成“C:\WINDOWS\SYSTEM\CTL3D32.DLL”。

 

{src}
这个文件夹指向安装程序所在的位置。
例如:如果你使用了 {src}\MYPROG.EXE 作为一项并且用户是从“S:\ ”安装的,那么安装程序就会将它转换成“S:\MYPROG.EXE”。

 

{sd}
系统驱动器,它是指 Windows 被安装到的那个驱动器,典型的是“C:”,对于 Windows NT/2000,这个常量同系统的环境变量“SystemDrive”是等效的。

 

{pf}
程序文件夹(Program Files),这个路径是系统的 Program Files 目录,典型的是“C:\Program Files”。

 

{cf}
公共文件夹(Common Files),这个路径是系统的 Common Files 文件夹,典型的是“C:\Program Files\Common Files”。

 

{tmp}
临时目录,这个目录并不是用户的 TEMP 环境变量指向的目录,而是安装程序在启动时在用户的临时目录下建立的一个子目录(它有一个类似于“
C:\WINDOWS\TEMP\IS-xxxxx.tmp”这样的名字),在安装程序退出时所有的文件和子目录将会被删除。对于在 [Run] 段里面要被执行且在安装以后又不需要的程序文件来说这个功能是非常有用的。

 

{fonts}
字体目录,在 Windows 95/NT 4+ 下有一个专门为字体设立的目录(通常这个目录在 Windows 目录下且被命名为“FONTS”),这个常量就指向这个目录。对于 Windows NT 3.51,这个常量是和 {sys} 等效的,因为当时还没有字体目录。

 

{dao}
DAO 目录,当安装程序运行在 Windows 95/NT 4+ 上时,它被等效为 {cf}\Microsoft Shared\DAO,当运行于 Windows NT 3.51 时,它被等效为 {win}\MSAPPS\DAO.

 

外壳(Shell)文件夹常量
Inno Setup 还支持另外一套目录常量,这就是涉及到的外壳(shell)文件夹常量,它们具有和其它的目录常量相同的使用方法。然而,如果在脚本的 [Setup] 段里面放入了 MinVersion=4,3.51 这一行来表示允许支持 NT 3.51,那么将只有 {group} 这个外壳文件夹常量能被使用,并签只能用在 [Icons] 段。
下面的包含了“user”的常量涉及到当前登陆的用户私人文档(profile),而带有“common”的常量会涉及到全部用户(All Users)的私人文档(profile)。当安装程序运行在 Windows NT/2000 操作系统下并且用户不具有管理员的权限时,所有的带有“common”的常量会强迫同带有“user”的常量等效。
* 标记表示带有“common”的常量在 Windows 9x 操作系统下同带有“user”的常量等效。
{group}
程序组的路径,取决于用户在安装程序向导的“选择程序组”页的选择。对于 Windows NT,这个文件夹始终被建立在所有用户的私人文档(All Users profile),除非用户正在安装的这个应用程序不具有管理员的权限,那么在这种情况下它将被建立在用户的私人文档中(profile).

 

{sendto}
当前用户的“发送”的路径。(没有公共的“发送”文件夹。)

 

{userappdata} & {commonappdata}
应用程序数据(Application Data)文件夹的路径。

 

{userdesktop} & {commondesktop} *
桌面文件夹的路径,推荐桌面快捷方式使用 {userdesktop}.

 

{userdocs} & {commondocs}
“我的文档”文件夹的路径(或者对于 NT 4.0,是指私人文件夹).

 

{userfavorites} & {commonfavorites}
“收藏夹”的路径,这个常量的使用方法是需要 MinVersion 的设置至少为“4.1, 4”,目前只有 Windows 2000 支持 {commonfavorites},如果使用的是在这之前的版本的 Windows,那么它将会被转换成和{userfavorites} 相同的目录。

 

{userprograms} & {commonprograms} *
在开始菜单里面的程序文件夹的路径。

 

{userstartmenu} & {commonstartmenu} *
开始菜单的定级路径。

 

{userstartup} & {commonstartup} *
开始菜单里面的启动文件夹的路径。

 

{usertemplates} & {commontemplates}
模板(Templates)文件夹的路径,目前只有 Windows 2000 支持 {commontemplates},如果使用的是在这之前的版本的 Windows ,它将会被转换成和{usertemplates} 相同的目录。

 

其他的常量
{\}
一个反斜杠字符,请参见本页前面提到的关于常量 {\} 和单字符 \ 在使用上有何不同的说明。

 

{%NAME}
内嵌一个环境变量,这个 NAME 是要使用的环境变量的名字。如果在用户的系统当中指定的环境变量不存在,这个常量就会被一个空的字符串所替代。

 

{computername}
安装程序正在运行的计算机的名称(就是“GetComputerName”函数的返回值)。

 

{groupname}
用户在安装程序向导的选择程序组页选择的程序组的名称,这个是不同于 {group} 的,它不包括路径。

 

{hwnd}
(专门用途)传送安装程序背景窗口的窗口句柄。

 

{reg:HKxx\SubkeyName,ValueName|DefaultValue}
内嵌一个注册表值。
HKxx 指定根键(root key),参见 [Registry] 段 文档所列出的根键。
SubkeyName 指定要读取的子键的名称。
ValueName 指定要读取的值的名称,要读取一个键的默认值就让 ValueName 为空。
DefaultValue 如果指定的注册表值不存在或者它不是一个字符串类型(REG_SZ 或者 REG_EXPAND_SZ),则嵌入这个值。
如果你希望包括一个逗号,竖线(字符“|”)或大括号闭弧“}”在常量里面,你必须通过“%-编码” 形式用“%”后紧跟一个两位的16进制代码转译后替换原来的字符,一个逗号是“%2c”,一个竖线符是“%7c”,一个大括号闭弧是“%7d”。
DefaultValue 可以包括常量,然而,如上所诉内嵌的常量的大括号的闭弧(“}”) 必须被改成“%7d”才可以。

 

{srcexe}
安装程序的文件名全称(包括全程路径和文件名),例如“C:\SETUP.EXE”。

 

{username}
运行安装程序的用户的名称(函数 GetUserName 的返回值)。

本文转载自:http://www.cnblogs.com/pyw0818/archive/2011/01/22/1941799.html

共有 人打赏支持
上一篇: IIS7.5 反向代理
下一篇: tomcat源码学习
yale8848
粉丝 14
博文 93
码字总数 22778
作品 0
西安
程序员
私信 提问
Inno Setup 2 :语法解析(一)

背景概述   Inno Setup安装程序用编译脚本的方式创建,脚本其实就是一个类似 .INI 文件格式的 ASCII 码文本文件(它不像你想象的那么复杂),其支持Pascal语言。 Unicode Inno Setup支持 UT...

006玩命
06/26
0
0
Inno Extract 1.3 发布,安装程序制作工具

Inno Extract 1.3 发布,该版本支持使用 Inno Setup 5.5.0 创建的安装程序,对于不支持的安装数据版本则提示警告;同时该版本基于 C++11 模式进行编译。 Inno Setup 是一个为 Windows 应用程...

oschina
2012/07/04
709
1
electron打包技术

Electron可以用来写出跨平台(Windows, Mac, Linux)平台的应用。Electron差不多相当于一个浏览器,而具体应用的逻辑是用JS写出来的。 打包要用到的东西 gulp 7zip windows上需要用,其他平台...

go-skyblue
2016/03/28
481
0
用 Electron 打造 Win/Mac 应用,从「代码」到可下载的「安装包」,可能比你想得麻烦一点

首发于酷家乐前端博客 我们能从很多地方学习到怎么起一个 Electron 项目,有些还会介绍怎么打包或构建你的代码,但距离「真正地发行一款 Electron 产品」这一目标,还有很多工作需要做... 这...

Stinson_Zhao
2017/11/08
0
9
Electron开发跨平台构建流程设计

摘要:这是 Electron 系列文章的第二篇,本文将和大家分享我是怎么去构建自动化的 Electron 开发构建工程的,说白了,就是怎么把敲的代码变成一个用户可以下载安装的包。当然随着之后应用复杂...

前端之巅
2017/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

线程安全性--volatile

volatile:当多个线程进行操作共享数据时,可以保证内存中的数据是可见的; @Slf4jpublic class MyVolatile { public static void main(String[] args) { ThreadRun threadRun...

wuyiyi
7分钟前
0
0
大数据入门之hadoop相关概念知识点整理

Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它的设计是从单个服务器扩展到数千个机器,每个都提供本地计算和存储。今天整理了一些关于had...

技术阿飞
8分钟前
0
0
ssh 免登

ssh-copy-id三步实现SSH无密码登录和ssh常用命令 ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx

miaojiangmin
10分钟前
0
0
2018阿里云双12年终大促主会场全攻略

2018阿里云双12年终大促活动已经于12月7日正式开启,从已开放的活动页面来看,活动分为两个阶段: 12月7日-12月23日的拉新返现阶段和12月24日-12月28日的TOP100英雄榜PK阶段。 活动核心亮点:...

阿里云官方博客
11分钟前
0
0
聊聊flink的MemoryStateBackend

序 本文主要研究一下flink的MemoryStateBackend StateBackend flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/StateBackend.java @PublicEvolvingpublic interface......

go4it
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部