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}"
    
  • 相关阅读:
    jquery,日常 记录知识 点 (选择器的引用类型)
    jQuery之map()和get() map().get().join意思
    转 谈谈JS里的{ }大括号和[ ]中括号的用法,理解后就可以看懂JSON结构了。
    CSS属性
    CSS3属性
    写网页的随意 记录要点
    css,查询相应标签,div等
    CSS ,浮动,clear记录,和一些转载别处
    linux下如何关闭防火墙?如何查看防火墙当前的状态
    Objective-C和Swift混合编程开发
  • 原文地址:https://www.cnblogs.com/pengsn/p/13344531.html
Copyright © 2011-2022 走看看