欢迎光临 MathCai
我们一直在努力

学习记录:inno常量

常量是编译器预定义了值的变量,在脚本中使用{ }号括起来表示。

.比如{win}表示操作系统的目录,在大部分操作系统中为”C:WINDOWS”。

“{“会被编译器认为是常量开始的标志,如果你要在支持常量的地方使用{字符串,但不是表示常量的开始,那么你需要使用连续的两个{{号,但不需要使用两个联系的}}号来结束,只要用一个}来结束。

如果一个反斜杠跟在一个常量的后面,如果{常量}abc,当常量的值也是由反斜杠结束时,编译器会自动将两个连续的反斜杠转换为一个,就是说如果常量 的值为c:时,编译器会把它转换为c:abc,而不是c:\abc。这是个比较实用的设计。不过如果你不想编译器这么做,那么你就实用{常量} {}abc来处理。

下面是编译器支持的常量列表。

目录类常量
{app}
应用程序安装目录,该值在[setup]节使用DefaultDirName指定,比如DefaultDirName={pf}My Program;如果安装脚本允许用户选择安装目录,那么该值会被用户选择的目录代替。

{win}
系统的windows目录;通常是”C:WINDOWS”。

{sys}
系统中的system32目录,在9x系统中是system目录;通常是”c:windowssystem32″。
在64位系统中也是返回好32位系统相同的值,不过如果打开64位模式就不同了。

{syswow64}
在64为系统中返回系统的 SysWOW64 目录;通常是 “C:WINDOWSSysWOW64″。在32位系统中,它等同与{sys}常量的值。

除非确实需要,不要使用该常量,在32位系统中该使用{sys}的位置使用本常量代替的话,有可能产生问题。(参见[Files]节的sharefile标示说明。)

{src}
表示安装文件所在的目录。

{sd}
系统盘;一般是 c: 。

{pf}
Program Files 目录。在32位系统中,它等同与{pf32},64位系统中它等同与{pf64}。

{pf32}
32位 Program Files;32位系统下通常是 “C:Program Files” ,64位系统下通常是  “C:Program Files (x86)” 。

{pf64}
只能在 64位 Windows 上使用,32位使用会出错。在64位系统上,它的值通常是:”C:Program Files”。 An exception will be raised if an attempt is made to expand this constant on 32-bit Windows.

{cf}
Common Files. 在32位系统上的值等同与{cf32},64位系统的值等同于{cf64}。

{cf32}
在32位系统,它的值通常是:”C:Program FilesCommon Files”,在64位系统,它的值是:”C:Program Files (x86)Common Files”。

{cf64}
64位系统的 Common Files 目录,在32位使用会产生错误。在64位系统上的值通常是:”C:Program FilesCommon Files”。

{tmp}
临时目录,注意!不是系统临时目录,而是安装程序在临时目录中创建的子目录,该目录在安装程序退出时会被安装程序全部删除。该目录的值通常 是:”C:WINDOWSTEMPIS-xxxxx.tmp” 这样的。安装程序会将该程序作为安装包的解压目录,同时在[Run]节中指定运行的程序(安装后就不再需要的),也在该目录中运行。

{fonts}
字体目录,通常是: c:windowsfonts 。

{dao}
DAO 目录,等同于 {cf}Microsoft SharedDAO 。

Shell 目录常量
shell目录是指通常和当前登录用户和所有用户相关的目录。

“user”开头的常量通常是和当前用户相关的目录,“common”开头的目录通常是common 用户(所有用户都使用的属性目录,需要windows相关使用经验来理解)相关目录。

除非特别说明,shell类目录在所有windows系统都有用,包括 windows9x和nt 4.0。

* = The “common” form of this constant is mapped to the “user” form if the logged-in user lacks administrative privileges, or if the operating system is Windows 95/98/Me.(未明白)

{group}
“开始”中的“程序”目录,通常为:C:Documents and Settingsuser name「开始」菜单程序

{localappdata}
应用程序数据目录,The path to the local (nonroaming) Application Data folder.

{sendto}
当前用户的”发送到”目录,不是所有用户的”发送到”目录.

{userappdata} & {commonappdata}
Application Data 目录.

{userdesktop} & {commondesktop} *
桌面目录.

{userdocs} & {commondocs}
My Documents 目录. win7下这个很有用,可以释放文件到公共文档里面。

{userfavorites} & {commonfavorites} *
Favorites 目录. 4.1版后开始支持这两个产量。只有 Windows 2000 以上版本支持 {commonfavorites};如果你在低版本windows上使用,值和 {userfavorites}相同。

{userprograms} & {commonprograms} *
“开始”菜单的“程序”目录。

{userstartmenu} & {commonstartmenu} *
“开始”菜单目录。

{userstartup} & {commonstartup} *
开始菜单的“启动”目录。

{usertemplates} & {commontemplates} *
临时目录。只有 Windows 2000 以上版本支持{commontemplates}; 低版本中它的值等同于 {usertemplates}.

未经允许不得转载:MathCai » 学习记录:inno常量
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址