使用 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;
我正在尝试使用 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;