加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Inno Setup入门(十)——操作注册表

发布时间:2020-12-15 09:56:32 所属栏目:大数据 来源:网络整理
导读:有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。 Inno Setup 中通过 [registry] 段实现对注册表的操作。 本段说明: 参数列表: 参数 说明 Root 根键。必须是下列中的一个 : HKCR (HKEY_CLASSES

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

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:desktoptestipmsg.exe"; DestDir: "{app}";Components:main

Source: "F:desktoptestbin.dat"; DestDir: "{app}";Components:data

Source: "F:desktoptesthelp.chm"; DestDir: "{app}" ;Components:help

Source: "F:desktoptestreadme.txt"; DestDir: "{app}";components:help;Flags:isreadme

[registry]

;本段处理程序在注册表中的键值

Root:HKLM;Subkey:SOFTWAREMicrosoftWindowsCurrentVersionRun;ValueType: string; ValueName:TEST;ValueData:{app}ipmsg.exe;Flags:?uninsdeletevalue

一路Next到底,安装完成后可以检查注册表:

?确实添加到注册表中去了,通过金山卫士也证实了这一点:

??? 由于使用的标志位是uninsdeletevalue,所以卸载软件将会自动删除该值,如果使用uninsdeletekey的话,该键下的其他值都会被删除,这不是一个很好的方法,除非你确定使用的是自己的专用键,否则不推荐使用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读