Inno Setup在Windows中创建用户

时间:2015-10-09 19:33:33

标签: inno-setup

我在inno安装程序中启动用户,但我需要在Windows中创建一个用户,其密码需要在安装过程中输入。

就像在CheckSerial中需要输入一个名字一样,我需要为此名称和其他字段设置上限以插入密码。

在DOS上,我可以用以下方式创建用户:

net user USER PWD /add /fullname:"USER" /comment:"TEST" /expires:never /passwordchg:no

我在

中得到了它

[Run] Filename: net.exe; parameters: "user USER PWD /add /fullname:""USER"" /comment:""TEST"" /expires:never /passwordchg:no"

但是我需要这个用户的输入名称和密码。我认为这可能在[代码]

很抱歉这个问题,但我完全迷失了。

问候。

1 个答案:

答案 0 :(得分:2)

有一个很好的例子,说明如何从自定义页面获取用户数据,并将其与"{code:FunctionName|Argument}"一起用于其他部分:https://github.com/jrsoftware/issrc/blob/master/Examples/CodeDlg.iss

简短概述:

  • TInputQueryWizardPage中添加InitializeWizard

    [Code]
    var
      UserPage: TInputQueryWizardPage;
    
    procedure InitializeWizard;
    begin
      UserPage := CreateInputQueryPage(wpWelcome,
        'Personal Information', 'Who are you?',
        'Please specify your name and password.');
      UserPage.Add('Name:', False);
      UserPage.Add('Password:', True);
    end;
    
  • 添加一个名为GetUser的函数,它返回请求的值:

    function GetUser(Param: String): String;
    begin
      if Param = 'Name' then
        Result := UserPage.Values[0]
      else if Param = 'Password' then
        Result := UserPage.Values[1];
    end;
    
  • 使用Run命令中的输入数据:

    [Run] Filename: net.exe; parameters: "user {code:GetUser|Name} {code:GetUser|Password} /add /fullname:""USER"" /comment:""TEST"" /expires:never /passwordchg:no"