使用Inno Setup运行无提示安装时,input序列号?

(Innosetup)产品安装程序运行标志/SP- /SILENT /SUPPRESSMSGBOXES时,有什么办法让用户input产品的序列号?

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

/ SERIAL = 12345679

如果缺少此参数,则不允许继续(显示错误/正确的用法或简单地终止安装)。

要扩大@ Slappy的答案 :

你可以使用/SERIAL=命令行参数,但InnoSetup不支持这个作为其标准命令行参数之一 ,所以你必须做一些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事件函数中调用它。