2016-12-05 7 views
3

私は現在、[Files] Flags: externalを使用してインストール中のユーザーデータをインポートしています。Innoのセットアップ外部ファイルの場所の入力を求めるメッセージ

インストール中に特定の外部ファイルを要求する必要があります。

使用例:
ライセンスファイル(ライセンス契約と混同しないでください)が必要なソフトウェアをインストールします。ユーザーにライセンスファイルの入力を求めます。ファイルを提供すると、DestDirにコピーされます。

私は[Files] Flags: PromptForFileのようなものか、それを達成するルーチンを探しています。誰かがこれをすでに解決していますか?

答えて

2

CreateInputFilePage functionをカスタムウィザードページの作成に使用して、ユーザーにライセンスファイルを要求します。

次に、scripted constantを使用して、選択したパスを[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; 
License file page


TODO:あなたは、ユーザーが任意のライセンスファイルを選択していないとき、何とか状況に対処する必要があります。 (NextButtonClickを使用して)続行するか、ファイルのインストールをスキップしてください(Check parameterを使用してください)。

関連する問題