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



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

或者可能是所有的

例如,如果安装了DCS, DCS Beta和DCS Steam,则提供复选框以安装到所有它们,或仅安装一个。

或者,如果更简单,在开始时只是一个径向选择…有没有人可以帮助Inno设置的CODE部分,或者建议如何从代码部分设置变量?

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

[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;

相关内容

  • 没有找到相关文章

最新更新