使用 Inno Setup 向用户询问应用程序的版本以相应地修改和更改安装文件夹

Ask user for the version of application to modify and change installation folder accordingly using Inno Setup

我正在尝试使用 Inno Setup 为 DCS 安装一些自定义皮肤。我想询问用户他们安装的 DCS 版本(并可能首先检查注册表或文件路径以查看是否安装了多个版本)然后要求用户选择他们想要安装的版本.

或者,可能是全部。

例如,如果安装了 DCS、DCS Beta 和 DCS Steam,请提供复选框以安装所有这些,或只安装一个..

或者如果更简单,只需在开始时进行径向选择。任何人都可以帮助 Inno 设置的 CODE 部分,或者建议如何从代码部分设置变量?

为选择创建自定义页面(例如使用 CreateInputOptionPage)。当用户单击其 下一步 按钮时,相应地更新目标目录。

[Code]
var
  VersionSelectionPage: TInputOptionWizardPage;
  
procedure InitializeWizard();
begin
  VersionSelectionPage :=
    CreateInputOptionPage(wpInfoBefore, 'Version selection', '', '', True, False);
  VersionSelectionPage.Add('1.0');
  VersionSelectionPage.Add('2.0');
  VersionSelectionPage.Add('3.0');
  VersionSelectionPage.SelectedValueIndex := 0;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
  Dir: string;
begin
  if CurPageID = VersionSelectionPage.ID then
  begin
    case VersionSelectionPage.SelectedValueIndex of
      0: Dir := ExpandConstant('{pf}\My Program v1');
      1: Dir := ExpandConstant('{pf}\My Program v2');
      2: Dir := ExpandConstant('{pf}\My Program v3');
      else RaiseException('Unexpected selection');
    end;
    WizardForm.DirEdit.Text := Dir;
  end;
  Result := True;
end;