INNO SETUP关于注册表

gamecx 2012-03-13 11:32:21
想做安装程序但是看不懂他的帮助文档啊,关于注册表部分的。。。像这样的:
Root: HKCU; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
是什么意思啊?一个程序安装后改变了哪些注册表内容怎么看呢?
...全文
841 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
linshanfz 2012-04-27
  • 打赏
  • 举报
回复
1、Root: HKCU 这个是你要写在注册表的位置,在运行命令框中你输入regedit之后会出现注册表编辑框,你可以看到以下的对应关系:
HKCR (HKEY_CLASSES_ROOT)
HKCU (HKEY_CURRENT_USER)
HKLM (HKEY_LOCAL_MACHINE)
HKU (HKEY_USERS)
HKCC (HKEY_CURRENT_CONFIG)
找到你要写的注册表位置。
2、Subkey: "Software\My Company"; 子键名称,你要写的注册表中的子键,点开你要写的注册表(HKEY_CURRENT_USER),查找到Software,再点开查找My Company,这个就是你注册后的子键。
3、ValueType: string; 键值的数据类型,必须是下列各项之一:
none
string
expandsz
multisz
dword
binary
如果指定了 none (默认设置),安装程序将创建一个没有键值的键,在这种情况下将忽略 ValueName 和 ValueData 参数。
如果指定了 string,安装程序将创建一个字符串 (REG_SZ) 值。
如果指定了 expandsz,安装程序将创建一个扩展字符串 (REG_EXPAND_SZ) 值。这种数据类型主要用在 Windows NT 上,但是也支持 Windows 95/98.
如果指定了 multisz,安装程序将创建一个多行文本 (REG_MULTI_SZ) 值。
如果指定了 dword,安装程序将创建一个整数 (REG_DWORD) 值。
如果指定了 binary,安装程序将创建一个二进制 (REG_BINARY) 值。
4、ValueName: "InstallPath";要创建的键值的名称,可以包含常量。如果它是空的,将会写入“默认”(Default)值中。如果ValueType 参数被设置为 none, 该参数将被忽略。 点击My Company你就会在右边看到一个InstallPath的项
5、ValueData: {app} 这个就是你要写入注册表的值,在My Company的后面会有一个值这一栏,你就会看到你写入的数据。
6、Flags: uninsdeletekeyifempty 这是一个附加的选项集合。uninsdeletekeyifempty指当程序被卸载时,如果该键下没有其它键值和子键则将其删除。该标记可以结合 uninsdeletevalue 标记一起使用
gxgyj 2012-03-14
  • 打赏
  • 举报
回复
这里说的是注册表位置,你想在安装时往哪里写数据,就设置对应的位置

gamecx 2012-03-14
  • 打赏
  • 举报
回复
竟然没人回答。。。

4,171

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 一般软件使用
社区管理员
  • 一般软件使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧