有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。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