有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。Inno Setup中通过[registry]段实现对注册表的操作。
本段说明:
参数列表:
参数
|
说明
|
Root
|
根键。必须是下列中的一个:
HKCR (HKEY_CLASSES_ROOT)
HKCU (HKEY_CURRENT_USER)
HKLM (HKEY_LOCAL_MACHINE)
HKU (HKEY_USERS)
HKCC (HKEY_CURRENT_CONFIG)
|
Subkey
|
子键名,可以包含常量
|
ValueType
|
值类型,必须是下列中的一个:
none
string
expandsz
multisz
dword
binary
如果指定了none (默认设置),安装程序将创建一个没有键值的键,在这种情况下,ValueName和ValueData 参数将被忽略。
|
ValueName
|
要创建的值名,可以包含常量,如果是空白的,将写入到“默认”值
|
ValueData
|
值的数据
|
Permissions
|
指定登录注册表键ACL (访问控制列表) 的附加权限,该参数只在Windows 2000或更高版本中有效,可用的参数是full、modify和read
|
Flags
|
是额外选项设置。多个选项可以使用空格隔开。支持下面的选项:
createvalueifdoesntexist
deletekey
deletevalue
dontcreatekey
noerror
preservestringtype
uninsclearvalue
uninsdeletekey
uninsdeletekeyifempty
uninsdeletevalue
|
下面的例子将会使得安装程序在操作系统启动后自动运行。
[setup]
;全局设置,本段必须
AppName=Test
AppVerName=TEST
DefaultDirName="E:\TEST"
AppVersion=1.0
Compression=lzma2/max
ShowLanguageDialog=yes
[components]
Name: main; Description:"主程序(必选)";Types:full compact custom;Flags: fixed
Name: data; Description:"数据文件";Types:full
Name: help;Description:"帮助文件";Types:full compact
[files]
Source: "F:\desktop\test\ipmsg.exe"; DestDir: "{app}";Components:main
Source: "F:\desktop\test\bin.dat"; DestDir: "{app}";Components:data
Source: "F:\desktop\test\help.chm"; DestDir: "{app}" ;Components:help
Source: "F:\desktop\test\readme.txt"; DestDir: "{app}";components:help;Flags:isreadme
[registry]
;本段处理程序在注册表中的键值
Root:HKLM;Subkey:SOFTWARE\Microsoft\Windows\CurrentVersion\Run;ValueType: string; ValueName:TEST;ValueData:{app}\ipmsg.exe;Flags: uninsdeletevalue
|
一路Next到底,安装完成后可以检查注册表:
确实添加到注册表中去了,通过金山卫士也证实了这一点:
由于使用的标志位是uninsdeletevalue,所以卸载软件将会自动删除该值,如果使用uninsdeletekey的话,该键下的其他值都会被删除,这不是一个很好的方法,除非你确定使用的是自己的专用键,否则不推荐使用。
有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。Inno Setup中通过[registry]段实现对注册表的操作。本段说明:参数列表: 参数 说明 Root 根键。必须是下列中的一个: HKCR (HKEY_CLASSES_ROOT) HKCU...
//
注册表
启动项
[Registry]
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "testrun"; ValueData: "{app}\{#MyAppExeName}"
这个可选段用来定义一些你想用安装程序在用户系统中创建、修改或删除的
注册表
键/值。
按默认,用安装程序创建的
注册表
键和值在卸载时不删除。如果你想让卸载程序删除键或值,你必须包含下面 uninsdelete* 标记中的一个。
[] : 里面的就是 段 每个段里面的是属性
AppId : 软件的APPID尽量是唯一的,随机生成,尽量不跟其他软件的ID冲突,这个ID安装之后是要写进系统的
注册表
的,系统在管理和卸载你的软件的时候就是通过这个ID去
操作
的。若相同,则会覆盖安装。
用分号;进行注释
{autopf} : C盘中 Program Files的路径
Compression : 压缩方式
SolidCompression: 是否让所有文件一次性压缩
[任务段] : 存放了安装包中用户可以选择的选项
[文件段] : 包含要打进安
// 在最后一支文件安装结束之后调用MyAfterInstall
[Files]
Source: ".\mysql2\*"; DestDir: "{app}"; Flags: onlyifdoesntexist recursesubdirs createallsubdirs ignoreversion;
Source: ".\API.ini"; DestDir: "{app}"; Flags: onlyifdoesntexist
Source: ".\API2.ini"; DestDir: "{app
Inno
Setup
是一个广泛应用于Windows的自由安装软件系统。
Inno
Setup
可以在编写安装脚本文件时,指示安装程序的
操作
,使得安装程序能够执行各种
操作
。
对于一些使用者来说,英文版
Inno
Setup
比较困难,这就需要对其进行汉化。而
Inno
Setup
5汉化可以通过修改
Inno
Setup
的语言文件进行。
首先,需要下载
Inno
Setup
官方网站提供的语言文件,该文件包含
Inno
Setup
的各种语言版本,官网提供了简体中文语言文件,下载后把语言文件放到
Inno
Setup
的主目录中。
然后,在
Inno
Setup
的主程序中找到LanguageOptions参数,将其修改为"chinese_simplified",保存即可。
此外,在
Inno
Setup
中还可以通过修改语言文件来自定义翻译内容。可以在语言文件中找到相应的字符串进行修改即可完成自定义翻译。如果不想自己翻译,可以到
Inno
Setup
官方网站的论坛中下载其他用户翻译好的语言文件。
需要注意的是,在安装过程中,特别是在用户选项的页面中,对于预设的安装路径或安装目录,需要对其进行中文化处理,否则会导致使用者无法理解,造成误
操作
。
总之,
Inno
Setup
的汉化可以让中文用户更加方便地使用该软件,提高效率。通过简单的
操作
,可以在安装过程中了解每一步的
操作
,并顺利完成安装。
Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
53628