Inno Setup 提示用户输入文件夹并存储值
Inno Setup Prompt user for a folder and store the value
我有以下需求:
[Run]
;run robocopy.exe source dest/OLD/[source_contents] /options
其中:
source 必须由用户在目标机器上指定(这可以根据物理平台而改变)
destination 将与刚刚用户定义的源文件夹相同,而子路径 OLD/[source_contents]
将由 robocopy 输入自动创建。
我想使用 "scripted-constant",但问题是我需要以某种方式将 "source" 提示参数存储在某个位置(我不能在同一个地方要求两个提示)。
谢谢。
scripted constant 是一条路要走。您只需要确保只提示用户一次并重复使用源路径和目标路径的结果。
例如,您可以使用 CreateInputDirPage
并实现脚本常量来引用用户在页面上指定的路径:
[Run]
Filename: "robocopy.exe"; Parameters: "{code:CopyDir} {code:CopyDir}\OLD"
[Code]
var
CopyDirPage: TInputDirWizardPage;
procedure InitializeWizard();
begin
CopyDirPage :=
CreateInputDirPage(wpSelectDir, 'Select source directory', '', '', False, '');
CopyDirPage.Add('Source directory:');
end;
function CopyDir(Params: string): string;
begin
Result := CopyDirPage.Values[0];
end;
我有以下需求:
[Run]
;run robocopy.exe source dest/OLD/[source_contents] /options
其中:
source 必须由用户在目标机器上指定(这可以根据物理平台而改变)
destination 将与刚刚用户定义的源文件夹相同,而子路径 OLD/[source_contents]
将由 robocopy 输入自动创建。
我想使用 "scripted-constant",但问题是我需要以某种方式将 "source" 提示参数存储在某个位置(我不能在同一个地方要求两个提示)。
谢谢。
scripted constant 是一条路要走。您只需要确保只提示用户一次并重复使用源路径和目标路径的结果。
例如,您可以使用 CreateInputDirPage
并实现脚本常量来引用用户在页面上指定的路径:
[Run]
Filename: "robocopy.exe"; Parameters: "{code:CopyDir} {code:CopyDir}\OLD"
[Code]
var
CopyDirPage: TInputDirWizardPage;
procedure InitializeWizard();
begin
CopyDirPage :=
CreateInputDirPage(wpSelectDir, 'Select source directory', '', '', False, '');
CopyDirPage.Add('Source directory:');
end;
function CopyDir(Params: string): string;
begin
Result := CopyDirPage.Values[0];
end;