本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250871

有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。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的话,该键下的其他值都会被删除,这不是一个很好的方法,除非你确定使用的是自己的专用键,否则不推荐使用。

最新文章

  1. php实现设计模式之 观察者模式
  2. java.sql.SQLSyntaxErrorException: ORA-00936: 缺失表达式。
  3. 妈咪,我找到了! -- 15个实用的Linux find命令示例
  4. win10蓝屏问题,关于驱动kisSaasUrlRedirectKnl64.sys 的
  5. Android官方多媒体API Mediacodec翻译(一)
  6. Android_程序结构分析
  7. SpringMVC Controller详解
  8. javascript获取选中的文本/html
  9. mongo设计(一)
  10. System V 机制(转)
  11. POJ 2528 QAQ段树+分离
  12. .NET访问数据库的两种方式(C#语言)
  13. MX4拍摄视频转码方法
  14. javascript方法的方法名慎用close
  15. 整理一点与排列组合有关的问题[组合数 Stirling数 Catalan数]
  16. 数据库事务的隔离以及spring的事务传播机制
  17. matlab中的常用的函数——在稀疏表示中学习到的
  18. summernote 如何设置为只读?
  19. LINQ入门教程之各种标准查询操作符(一)
  20. apply方法和call方法的详解2

热门文章

  1. poj2195
  2. bzoj3623
  3. Runtime获取类的属性列表和方法列表
  4. windows配置redis(转)
  5. CUDA库函数module management
  6. cscope使用记录
  7. Deep Learning深入浅出
  8. Swift 3 点击屏幕任意位置隐藏键盘
  9. 从互联网进化的角度看AI+时代的巨头竞争
  10. Web框架Django