【发布时间】:2014-04-05 19:51:51
【问题描述】:
在运行带有标志/SP- /SILENT /SUPPRESSMSGBOXES 的(Innosetup)产品安装程序时,有什么方法可以让用户输入产品的序列号?
【问题讨论】:
标签: windows inno-setup
在运行带有标志/SP- /SILENT /SUPPRESSMSGBOXES 的(Innosetup)产品安装程序时,有什么方法可以让用户输入产品的序列号?
【问题讨论】:
标签: windows inno-setup
您可以创建新的命令行参数并在其中传递序列号。
/SERIAL=12345679
如果缺少此参数,则不允许继续(显示错误/正确用法或直接终止安装)。
【讨论】:
UserInfoSerial的安装程序怎么办?
您可以使用/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 拨打此电话。
【讨论】:
DefaultUserInfoSerial={param} 表示如果UsePreviousUserInfo 已启用并存在,则命令行将被忽略,这可能是不可取的。