Inno Setup 在 Windows 中创建用户
Inno Setup to create a user in Windows
我是 inno Setup 中的启动用户,但我需要在 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"
但是我需要输入这个用户的用户名和密码。我认为在 [Code]
.
中是可能的
关于如何从自定义页面获取用户数据并将其与其他部分的 "{code:FunctionName|Argument}"
一起使用的一个很好的示例:https://github.com/jrsoftware/issrc/blob/master/Examples/CodeDlg.iss
简要概述:
在InitializeWizard
中添加一个TInputQueryWizardPage
。
[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
的函数 returns 请求的值:
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"
我是 inno Setup 中的启动用户,但我需要在 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"
但是我需要输入这个用户的用户名和密码。我认为在 [Code]
.
关于如何从自定义页面获取用户数据并将其与其他部分的 "{code:FunctionName|Argument}"
一起使用的一个很好的示例:https://github.com/jrsoftware/issrc/blob/master/Examples/CodeDlg.iss
简要概述:
在
InitializeWizard
中添加一个TInputQueryWizardPage
。[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
的函数 returns 请求的值: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"