zoukankan      html  css  js  c++  java
  • Inno Setup入门(十)——操作注册表

    转自:http://379910987.blog.163.com/blog/static/3352379720110259414788/

    有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果。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 estipmsg.exe"; DestDir: "{app}";Components:main

    Source: "F:desktop estin.dat"; DestDir: "{app}";Components:data

    Source: "F:desktop esthelp.chm"; DestDir: "{app}" ;Components:help

    Source: "F:desktop est eadme.txt"; DestDir: "{app}";components:help;Flags:isreadme

    [registry]

    ;本段处理程序在注册表中的键值

    Root:HKLM;Subkey:SOFTWAREMicrosoftWindowsCurrentVersionRun;ValueType: string; ValueName:TEST;ValueData:{app}ipmsg.exe;Flags: uninsdeletevalue

    一路Next到底,安装完成后可以检查注册表:

    Inno Setup入门(十)——操作注册表 - Castor - 趁年轻,多折腾~~

     确实添加到注册表中去了,通过金山卫士也证实了这一点:

    Inno Setup入门(十)——操作注册表 - Castor - 趁年轻,多折腾~~

        由于使用的标志位是uninsdeletevalue,所以卸载软件将会自动删除该值,如果使用uninsdeletekey的话,该键下的其他值都会被删除,这不是一个很好的方法,除非你确定使用的是自己的专用键,否则不推荐使用。

  • 相关阅读:
    CodeForces 785D Anton and School
    CodeForces 785C Anton and Fairy Tale
    CodeForces 785B Anton and Classes
    CodeForces 785A Anton and Polyhedrons
    爱奇艺全国高校算法大赛初赛C
    爱奇艺全国高校算法大赛初赛B
    爱奇艺全国高校算法大赛初赛A
    EOJ 3265 七巧板
    EOJ 3256 拼音魔法
    EOJ 3262 黑心啤酒厂
  • 原文地址:https://www.cnblogs.com/x_wukong/p/5044620.html
Copyright © 2011-2022 走看看