I currently use [Files] Flags: external to import user data into my installation, which is working.
I now need to prompt for a specific external file during the installation.
Use case:
We install software that requires a license file (not to be confused with the license agreement). I want to prompt the user for their license file. Once they provide a file, it would be copied to the DestDir.
I'm looking for a something like [Files] Flags: PromptForFile or a routine that achieves the same. Has someone already solved this?
Use the CreateInputFilePage function to a create custom wizard page to prompt a user for the license file.
Then, use a scripted constant to use the selected path as a source path in the [Files] section.
[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: You need to handle somehow a situation, when a user does not select any license file. Either don't allow to proceed (use the NextButtonClick) or skip the file installation (use the Check parameter).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With