zoukankan      html  css  js  c++  java
  • Inno Setup区段之Registry篇

    简述

    创建,修改或删除注册表键/值

    [Registry]

    • Root: 必需的 【HKCU、HKLM、HKCR、HKU、HKCC】

    • Subkey: 必需的 键值key

    • valueType 值类型 [
      none
      string REG_SZ
      expandsz REG_EXPAND_SZ
      multisz REG_MULTI_SZ
      dword REG_DWORD
      qword REG_QDWORD
      binary REG_BINARY ]

    • valueName key

    • valueData 值

    • Permissions 访问控制权限列表 添加权限

    • Flags
      此参数是一组额外选项。可以通过用空格分隔它们来使用多个选项。支持以下选项:

      createvalueifdoesntexist
      当指定了该标志,安装程序只在如果没有相同名称的值存在时创建值。如果值类型是 none,或如果你指定了 deletevalue 标志,该标志无效。

      deletekey
      当指定了该标志,安装程序在如果条目存在的情况下,先将尝试删除它,包括其中的所有值和子键。如果 ValueType 不是 none,那么它将创建一个新的键和值。

      为防止意外,安装期间如果 Subkey 是空白或只包含反斜杠符号,该标志被忽略。

      deletevalue
      当指定了该标志,安装程序在如果值存在的情况下,先将尝试删除值,如果 ValueType 是 none,那么在键不存在的情况下,它将创建键以及新值。

      dontcreatekey
      当指定了该标志,如果键已经在用户系统中不存在,安装程序将不尝试创建键或值。如果键不存在,不显示错误消息。

      一般来说,这个键与 uninsdeletekey 标志组合使用,在卸载时删除键,但安装时不创建键。

      noerror
      如果安装程序因任何原因创建键或值失败,不显示错误消息。

      preservestringtype
      这只在当 ValueType 参数是 string 或 expandsz 时适用。当指定该标志,并且值不存在或现有的值不是 string 类型(REG_SZ 或 REG_EXPAND_SZ),它将用 ValueType 指定的类型创建。如果值存在,并且是 string 类型,它将用先存在值的相同值类型替换。

      uninsclearvalue
      当卸载程序时,设置值数据为 null 字串(类型 REG_SZ)。该标志不能与 uninsdeletekey 标志组合使用。

      uninsdeletekey
      当卸载程序时,删除整个键,包含其中的所有值和子键。这对于 Windows 自身使用的键明显不是一个好方法。你只能用于你的应用程序特有的键中。

      为防止意外,安装期间如果 Subkey 是空白或只包含反斜杠符号,该标志被忽略。

      uninsdeletekeyifempty
      当程序卸载时,如果这个键的内部没有值或子键,则删除这个键。该标志可以与 uninsdeletevalue 组合使用

      为防止意外,安装期间如果 Subkey 是空白或只包含反斜杠符号,该标志被忽略。

      uninsdeletevalue
      当程序卸载时删除该值。该标志不能与 uninsdeletekeyifempty 组合使用

      注意: 在早于 1.1 的 Inno Setup 版本中,你可以使用该标志连同数据类型 none,那么它的功能与“如果空则删除键”标志一样。这个方法已经不支持了。你必须使用 uninsdeletekeyifempty 标志实现。

    code

    [Registry]
    Root: HKLM; Subkey: "SoftwareMy Company"; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: "SoftwareMy CompanyMy Program"; Flags: uninsdeletekey
    Root: HKLM; Subkey: "SoftwareMy CompanyMy ProgramSettings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
    
  • 相关阅读:
    个人知识管理系统Version1.0开发记录(09)
    个人知识管理系统Version1.0开发记录(08)
    个人知识管理系统Version1.0开发记录(07)
    个人知识管理系统Version1.0开发记录(06)
    个人知识管理系统Version1.0开发记录(05)
    个人知识管理系统Version1.0开发记录(04)
    登录流程
    小程序开发工具黑屏
    免费BOOTSTARP后台模板
    JQUERY重写
  • 原文地址:https://www.cnblogs.com/pengsn/p/13344531.html
Copyright © 2011-2022 走看看