我目前使用
[Files] Flags: external
将用户数据导入到我的安装中,该安装正在运行。
我现在需要在安装过程中提示输入特定的外部文件。
使用案例:
我们安装需要许可文件的软件(不要与许可协议混淆)。我想提示用户提供许可证文件。一旦他们提供了文件,它将被复制到
DestDir
。
我正在寻找类似
[Files] Flags: PromptForFile
的东西或实现相同目标的例程。有人已经解决这个问题了吗?
CreateInputFilePage
功能 创建自定义向导页面以提示用户输入许可证文件。
然后,使用脚本常量将所选路径用作
[Files]
部分中的源路径。
[Files]
Source: "{code:GetLicensePath}"; DestDir: "{app}"; Flags: external
[Code]
var
LicenseFilePage: TInputFileWizardPage;
procedure InitializeWizard();
begin
LicenseFilePage :=
CreateInputFilePage(
wpSelectDir,
'Select License File Location',
'Where is your license file located?',
'Select where License file is located, then click Next.');
LicenseFilePage.Add(
'Location of license file:',
'License files|*.lic|All files|*.*',
'.lic');
end;
function GetLicensePath(Param: string): string;
begin
Result := LicenseFilePage.Values[0];
end;
TODO:当用户未选择任何许可证文件时,您需要以某种方式处理这种情况。要么不允许继续(使用
NextButtonClick
),要么跳过文件安装(使用 Check
参数)。