是否可以在Inno设置中添加HTML表单?

时间:2015-06-05 04:09:21

标签: inno-setup

我为游戏创建了自定义安装程序。我需要使用新功能更新我的安装程序版本。游戏需要注册才能在线玩。所以我需要在网页上嵌入注册表格(或者在安装完成后直接使用HTML代码进入Inno设置页面。所以人们不需要访问页面,并且可以通过Inno Setup在线注册。

2 个答案:

答案 0 :(得分:2)

在安装程序中创建一个包含嵌入式浏览器的新页面。

我建议使用此组件:https://code.google.com/p/inno-web-browser/

用法非常简单:https://code.google.com/p/inno-web-browser/source/browse/trunk/Example.iss

当用户前进到您(新创建的)页面时,请导航到您的网站(应该在服务器上的某个位置运行)。

答案 1 :(得分:0)

对Inno Setup安装程序包含网页没有原生支持。我也不知道有任何支持它的第三方扩展。

相反,您可以使用CreateInputQueryPage function对自定义安装程序页面进行编码,以查询用户注册详细信息并将其发送到您的网站。

一个简单的例子:

[Code]
var
  UserPage: TInputQueryWizardPage;

procedure InitializeWizard;
begin
  UserPage := CreateInputQueryPage(wpWelcome,
    'Registration', 'Who are you?',
    'Please specify your name and username tor register, then click Next.');
  UserPage.Add('Name:', False);
  UserPage.Add('User name:', False);
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  Result := True;

  if CurPageID = UserPage.ID then
  begin
    if (UserPage.Values[0] = '') or (UserPage.Values[1] = '') then
    begin
      MsgBox('You must enter your name and username.', mbError, MB_OK);
      Result := False;
    end;
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
  WinHttpReq: Variant;
  RegisterUrl: string;
begin
  if CurStep = ssDone then
  begin
    try
      RegisterUrl :=
        'https://www.example.com/register.php?' +
          Format('name=%s&username=%s', [UserPage.Values[0], UserPage.Values[1]])

      Log('Sending registration request: ' + RegisterUrl);

      WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      WinHttpReq.Open('GET', RegisterUrl, False);
      WinHttpReq.Send('');

      Log('Registration report send result: ' +
          IntToStr(WinHttpReq.Status) + ' ' + WinHttpReq.StatusText);
    except
      Log('Error sending registration report: ' + GetExceptionMessage);
    end;
  end;
end;

(请注意,这缺少数据的URL编码)。

Register

或者只需在安装结束时在网络浏览器中打开注册表。

[Run]
Filename: "https://www.example.com/register.php"; \
    Description: "&Open registration form"; Flags: shellexec runasoriginaluser postinstall

Open web page