AM电脑吧 - Win10精简版系统_Win11精简版_Win7旗舰版

Yes
查看: 4832|回复: 0
收起左侧

学习记录:inno常量

[复制链接]
ampc81

签到天数: 644 天

[LV.9]九级电脑高手

id 发表于 2012-02-20 13:36:45

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

.比如{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:\windows\system32"。
在64位系统中也是返回好32位系统相同的值,不过如果打开64位模式就不同了。

{syswow64}
在64为系统中返回系统的 SysWOW64 目录;通常是 "C:\WINDOWS\SysWOW64"。在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 Files\Common Files",在64位系统,它的值是:"C:\Program Files (x86)\Common Files"。

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

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

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

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

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 Settings\user 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}.


本文地址: https://www.ampc8.com/thread-5492-1-1.html
上一篇:微点主动防御软件2.0正式版已经正式发布了!!
下一篇:QQ制定皮肤
回复

举报

您需要登录后才可以回帖 登录 | 验证注册

Powered by AMpc8.Com (晋ICP备13003365号ghs 晋公网安备 14090202000112号 |GMT+8, 2024/4/29 07:16 |
快速回复 返回顶部 返回列表