【问题标题】:How to find destination location during upgrade如何在升级过程中找到目标位置
【发布时间】:2017-08-11 15:19:09
【问题描述】:

在升级期间是否有可用于查找目标位置的常量/安装程序变量/函数? 我检查了How do you find the user-selected install path in Inno Setup?,但WizardDirValue()ExpandConstant('{app}') 在升级期间使用时都会抛出异常。我知道在升级过程中可以读取卸载注册表项下的Inno Setup: App Path 键以查找位置。想了解是否有其他选择?尝试使用WizardForm.DirEdit.Text 也会抛出异常

【问题讨论】:

  • WizardDirValueapp 常量在升级过程中抛出异常是不正确的。他们可能会在特定情况下抛出异常。你必须向我们展示你是如何使用它们的。

标签: inno-setup


【解决方案1】:

在事件函数 UpdateReadyMemo 常量应用是可访问的。

function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
var
    s: String;
begin
    s := ExpandConstant('{app}');
    MsgBox(s, mbInformation, MB_OK);
    Result := MemoComponentsInfo
end;

UpdateReadyMemo 在准备安装对话框之前自动调用。它的返回值将显示在此对话框中。

【讨论】:

  • Aah.... 我在解决问题之前尝试了ExpandConstant('{app}'),但没有意识到在代码升级期间我也在从 wpSelectDir 页面访问另一个控件,并且当升级案例已跳过页面。
  • 如果 wpSelectDir 被跳过,使用 {app} 没有问题,但您仍然只能在 wpSelectDir 已显示或在其 NextButtonClick 中严格执行此操作(这也是即使跳过也被调用)。
猜你喜欢
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 2020-08-29
  • 2019-06-10
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 1970-01-01
相关资源
最近更新 更多