2015-06-05 53 views
2

我爲遊戲創建了一個自定義安裝程序。我需要使用新功能更新安裝程序的版本。遊戲需要註冊才能在線玩。所以我需要從網頁中嵌入註冊表格(或者在安裝完成後直接將HTML代碼直接用於Inno Setup頁面,所以人們不需要訪問頁面並且可以通過Inno Setup在線註冊播放內容)可以在Inno安裝程序中添加HTML表單嗎?

回答

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


或者乾脆打開註冊表格在Web瀏覽器中安裝結束。

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

Open web page

+0

我想以簡單的方式走你告訴我,因爲我不是在這個inno設置親。所以,我已經複製了你給我的代碼,但它並不顯示文本(開放註冊表單),並在結束屏幕上顯示覆選框。但它打開了鏈接。那麼我錯過了什麼? 這是你給我的代碼: '文件名:「http://forums.revora.net/index.php?app=core&module=global§ion=register」;標誌:shellexec runasoriginaluser postinstall;說明:「與開放式註冊form' @馬丁Prikryl – forshire

+0

是的,我把它放到[運行]部分我完成屏幕看起來像沒有複選框,並沒有說明‘開放登記表’有剛完成按鈕,這就是全部。 @ Martin Prikryl – forshire

+0

http://i.imgur.com/bdZP6FV.png – forshire

相關問題