Inno Setup入门(十)——操作注册表
有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。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入门(十)——操作注册表的更多相关文章
- Inno Setup入门(十六)——Inno Setup类参考(2)
Inno Setup入门(十六)——Inno Setup类参考(2) http://379910987.blog.163.com/blog/static/33523797201112755641236 ...
- Inno Setup入门(一)——最简单的安装脚本
地址:http://379910987.blog.163.com/blog/static/3352379720110238252326/ 一个最简单的安装脚本: 1.最简单的安装文件脚本: [setu ...
- Inno Setup入门(十一)——完成安装后执行某些程序
Inno Setup入门(十一)——完成安装后执行某些程序 2011-02-16 16:24:23| 分类: Inno Setup | 标签:inno setup |举报 |字号 订阅 ...
- [转]C#操作注册表
原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- c++ 操作注册表
1. 注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...
- .Net操作注册表--un
C#操作注册表 导入命名空间 Using MicroSoft.Win32;//64位系统装的64位版本
- C#操作注册表全攻略
相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...
- C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .
转:http://blog.csdn.net/smartsmile2012/article/details/8682295 #region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// & ...
- VBS 操作注册表 十六进制
使用VBS操作注册表,通常使用RegRead/RegWrite/RegDelete方法,如: RegRead: 'read.vbs(将以下代码存为read.vbs文件) Dim OperationRe ...
随机推荐
- JavaScript:Events
ylbtech-JavaScript:Events 1.返回顶部 JavaScript 事件参考手册 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行. 事件句柄 HTML 4.0 的新 ...
- NoSQL数据存储
些数据库并不是关系型的,不支持 SQL.它们用来处理庞大的数据集.支持更加灵活的 数据定义以及定制的数据操作.这些被统称为 NoSQL(not only SQL) . dbm family dbm格式 ...
- 第一章 Typescript 介绍
Typescript 介绍 一.Typescript 简介 Typescript 是微软开发的 Javascript 的超集,Typescript 兼容 Javascript,可以载入 Javascr ...
- 使用C#反射机制访问类的私有成员【转】
首先我必须承认访问一个类的私有成员不是什么好做法.大家也都知道私有成员在外部是不能被访问的.而一个类中会存在很多私有成员:如私有字段.私有属性.私有方法.对于私有成员访问,可以套用下面这种非常好的方式 ...
- 我的四轴专用PID参数整定方法及原理---超长文慎入(转)
给四轴调了好久的PID,总算是调好了,现分享PID参数整定的心得给大家,还请大家喷的时候手下留情. 首先说明一下,这篇文章的主旨并不是直接教你怎么调,而是告诉你这么调有什么道理,还要告诉大家为什么'只 ...
- 转: 一个程序员的Java和C++学习之路(整理)
http://blog.csdn.net/ajian005/article/details/8003655 http://m.blog.csdn.net/xugangwen/article/detai ...
- 协程(Coroutine)并不是真正的多线程
自:http://www.zhihu.com/question/23895384 说到Coroutine,我们必须提到两个更远的东西.在操作系统(os)级别,有进程(process)和线程(threa ...
- LeetCode 292 Nim Game(Nim游戏)
翻译 你正在和你的朋友们玩以下这个Nim游戏:桌子上有一堆石头.每次你从中去掉1-3个.谁消除掉最后一个石头即为赢家.你在取出石头的第一轮. 你们中的每个人都有着聪明的头脑和绝佳的策略.写一个函数来确 ...
- Python爬虫学习系列教程
最近想学一下Python爬虫与检索相关的知识,在网上看到这个教程,觉得挺不错的,分享给大家. 来源:http://cuiqingcai.com/1052.html 一.Python入门 1. Pyth ...
- Office办公 Winrar如何批量把每个文件夹分别压缩成不同的压缩包
右击很多文件夹,添加到压缩文件,然后在文件中勾选把每个文件放到单独的压缩文件中即可