zoukankan      html  css  js  c++  java
  • Inno Setup使用上的几个问题

    Inno Setup使用上的几个问题

    分类: Install Setup
    Inno Setup使用上的几个问题:

    【问题一:Inno Setup 执行REG文件代码?】
    [Run]
    Filename: "{win} egedit.exe";Parameters:"/s {tmp} eg.reg" // 静默参数/S


    【问题二:安装时,如果已经有同名文件存在,就不更新该文件?】
    [Files]
    Source: "test.tmp"; DestDir: "{app}"; Flags: onlyifdoesntexist //onlyifdoesntexist表示只有当这个文件不存在的时候才安装这个文件。


    【问题三:卸载时不卸载某一个文件?】
    [Files]
    Source: "CTL3DV2.DLL"; DestDir: "{sys}"; Flags: uninsneveruninstall //uninsneveruninstall 卸载时,不删除


    【问题四:Inno Setup 注册OCX】
    [Files]
    Source: "xxxxxx.ocx"; DestDir: "{app}"; Flags: onlyifdoesntexist regserver //注册regserver


    【问题五:如何在Inno Setup中设置某选项默认被选择?】
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce //参数Flags包含checkedonce即可

    【问题六:Inno Setup 安装新版本之前卸载老版本?】
    [code]
    if RegQueryStringValue(HKLM, 'SOFTWAREMicrosoftWindowsCurrentVersionUninstallMy_Program_is1', 'UninstallString', ResultStr) then
    begin
    ResultStr := RemoveQuotes(ResultStr);
    Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode)
    end

    把其中 My_Program 换成自己的 app name 即可!


    Flags :该参数是一个额外的可选项,可用空格隔开多个选项。下面是该参数所支持的选项:
    createvalueifdoesntexist :当指定该标记时,安装程序只会在同名键值不存在时创建该键值。该标记在数据类型为none或者指定了deletevalue标记时不会生效。
    deletekey :当指定该标记时,安装程序将会先删除整个键(若存在的话),包括其中的所有键值和子键。如果ValueType 为none时,它才会创建新的键和键值。
    deletevalue :当指定该标记时,安装程序会先删除这个键值(若存在的话)。如果ValueType 为none并且不曾存在时,它才会创建新的键值。
    dontcreatekey :当指定该标记时,如果指定的键在用户的系统中未曾存在时,安装程序不会尝试去创建指定的键或键值。如果指定的键已经存在,将不显示错误信息。典型的例子就是该标记与uninsdeletekey标记合用,以此达到在卸载时删除键而在安装时不会创建它们。
    noerror :无论任何原因而导致安装程序创建该键失败都不会显示错误信息。
    preservestringtype :这只在ValueType参数是string或expandsz时使用。当指定了该标记后,如果键值不存在并且它是字符串类型时,它将被换成先前值的相同类型。
    uninsclearvalue :卸载程序时,清空键值的数据(REG_SZ类型)。该标记不能与uninsdeletekey标记合用。
    uninsdeletekey :卸载程序时,删除整个键,包括其中所有的键值和子键。显然,在Windows自身的键内时,这不是一个好主意。你只应在你软件的私有键中使用它。
    uninsdeletekeyifempty :卸载程序时,如果该键没有键值或子键时将其删除。该标记可以与uninsdeletevalue.标记合用。
    uninsdeletevalue :卸载程序时删除键值。该标记可以与uninsdeletekeyifempty标记合用。
  • 相关阅读:
    几种开源工作流引擎的简单比较(转)
    ExecuteScalar
    机房重构---我们“重构”出了什么?
    薏米红豆粥功效及做法介绍
    Mean Shift具体介绍
    linux fork函数浅析
    html的下拉框的几个基本使用方法
    Readprocessmemory使用方法
    配置Log4j(非常具体)
    【Linux】linux经常使用基本命令
  • 原文地址:https://www.cnblogs.com/joean/p/4843125.html
Copyright © 2011-2022 走看看