После нескольких часов, гуглящих и борющихся, и не найденных, я решаю обратиться за помощью сюда.
То, что я пытаюсь выполнить, я пытаюсь получить IP-адрес от пользователя и использовать его в качестве параметра командной строки в моем разделе [Run].
Итак, у меня есть это:
[Task]
Name: "License"; Description: "Usb Key License Driver"; GroupDescription: "UsbLicense"; Flags: checkedonce
Name: "License/Desktop"; Description: "Desktop License"; GroupDescription: "UsbLicense"; Flags: exclusive
Name: "License/NetworkClient"; Description: "Network Client License Key"; GroupDescription: "UsbLicense"; Flags: exclusive unchecked
Теперь, если пользователь выбирает Network client, я хочу иметь возможность показать пользовательскую страницу, получить IP-адрес и использовать его следующим образом:
[Run]
Filename: "{app}\Drivers\Program.exe"; Parameters: "/ip:{code:GetIPhere}"; StatusMsg: "Installing drivers..."; Tasks: License/NetworkClient
Мне удалось создать свою собственную страницу и запустить это:
[Code]
procedure InitializeWizard();
begin
CustomForm_CreatePage(wpSelectDir);
end;
Теперь мой главный вопрос:
1) Как я могу контролировать Когда отображается пользовательская форма, она отображается перед тем, как активируется перед моей страницей задач.
2) Если я смогу показать это ПОСЛЕ страницы задач? Как мне написать код, чтобы он отображался в условии «Клиентская сеть» только из задачи. (Если я делаю это в методе NextButtonClick, как мне узнать, какой идентификатор страницы у моей пользовательской страницы?)
Спасибо за вашу помощь, я так близко подошел к завершению установки, но это сводит меня с ума.
---- EDITED ----
Я решил свою проблему 1, при создании пользовательской страницы есть параметр pageAfter, и мы можем использовать константу selectedTask, чтобы определить, будет ли она появляться ПОСЛЕ страницы задач:
procedure InitializeWizard();
begin
Form_CreatePage(wpSelectTasks);
end;
Спасибо и С уважением,
Kev84