#inno-setup
#inno-setup
Вопрос:
Я пытаюсь использовать Inno Setup для установки некоторых пользовательских оболочек для DCS. Я хотел бы спросить пользователя о версии установленных им контроллеров домена (и, возможно, сначала проверить реестр или путь к файлу, чтобы узнать, установлено ли более одной версии), а затем попросить пользователя выбрать ту, на которую они хотят ее установить.
Или, возможно, все из них.
Например, если установлены DCS, DCS Beta и DCS Steam, установите флажки для установки для всех из них или только для одного..
Или, если проще, просто радиальный выбор в начале.. Может ли кто-нибудь помочь с разделом кода Inno setup или посоветовать, как вы можете установить переменную из раздела кода?
Ответ №1:
Создайте пользовательскую страницу для выбора (например, с помощью 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;