使用Inno Setup运行静默安装时输入序列号?

时间:2014-03-04 10:25:35

标签: windows inno-setup

运行带有标记/SP- /SILENT /SUPPRESSMSGBOXES的(Innosetup)产品安装程序时,有没有办法让用户输入产品的序列号?

2 个答案:

答案 0 :(得分:2)

您可以创建新的命令行参数并在其中传递序列号。

  

/ SERIAL = 12345679

如果缺少此参数,则不允许继续(显示错误/正确使用或只是终止安装)。

答案 1 :(得分:1)

展开@Slappy's answer

您可以使用/SERIAL=命令行参数,但InnoSetup不支持此standard command line parameters之一,因此您必须执行一些Pascal脚本编写。以下内容应该有效。

procedure CheckForCommandLineSerial();
var
  i: Integer;
begin
  for i := 1 to ParamCount do
  begin
    if (Pos('/serial=', Lowercase(ParamStr(i))) = 1) and (Length(ParamStr(i)) > 8) then
    begin
      WizardForm.UserInfoSerialEdit.Text := Copy(ParamStr(i), 9, Length(ParamStr(i)) - 8);
      exit;
    end
  end;
end;

您可以从InitializeWizard event function

中拨打此电话