Inno Setup从页面返回值作为参数

时间:2013-08-30 13:19:18

标签: batch-file installer inno-setup

所以我试图在Inno设置中安装一个安装程序。如何使用用户输入(如目录)作为运行批处理文件的参数? (已在页面上收集用户输入)。感谢

1 个答案:

答案 0 :(得分:3)

要创建目录输入页面,您可以使用TInputDirWizardPage内置向导页面类型。在下面的脚本中,您可以看到如何创建一个包含一个字段的输入目录页面,该字段的值随后作为参数传递给从脚本的[Run]部分执行的批处理文件:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Run]
Filename: "{app}\YourBatch.bat"; Parameters: "{code:GetBatchParams}"

[Code]
var
  DirInputPage: TInputDirWizardPage;

function GetBatchParams(Value: string): string;
begin
  Result := DirInputPage.Values[0];
end;

procedure InitializeWizard;
begin
  DirInputPage := CreateInputDirPage(wpWelcome, 'Caption', 'Description', 
    'SubCaption', False, '');

  DirInputPage.Add('Directory to be passed to batch file as parameter');
  DirInputPage.Values[0] := ExpandConstant('{userappdata}\Initial Directory');
end;