经过几个小时的谷歌搜索和挣扎,却无处可去,我决定在这里寻求帮助。
我想要完成的是,我试图从用户那里获取 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
现在,如果用户选择网络客户端,我希望能够显示一个自定义页面,并获取 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 方法中执行此操作,我怎么知道我的自定义页面的页面 ID 是什么?)
感谢您提供的所有帮助,我即将完成我的安装程序,但这让我发疯。
----已编辑----
我解决了我的问题1,创建自定义页面时有一个pageAfter参数,我们可以使用selectedTask常量来确定它出现在Task页面之后:
procedure InitializeWizard();
begin
Form_CreatePage(wpSelectTasks);
end;
谢谢和问候, Kev84