2016-09-02 22 views
4

私はInno Setupについて簡単なインストーラを作ることを学んでいます。インストール中にウェブサイトからファイルをダウンロードする必要があるため、インターネットに接続しているかどうかを確認することが重要です。インストールの過程でインターネットに接続するための警告を確認することができますか?Inno Setupを使ってインターネット接続をチェックする方法

ありがとうございます!

答えて

3

実際にファイルをダウンロードすることをお勧めします。

「インターネット」は、実際に接続できるものではありません。あなたが "インターネット"に接続しているなら、テストするのは難しいです。実際には "インターネット"への接続は必要ありません。サーバーに接続する必要があります。だからそれをテストしてください。


Inno Setupの中に同等の実装は次のようになります

も参照してください:だから

function InitializeSetup(): Boolean; 
var 
    WinHttpReq: Variant; 
    Connected: Boolean; 
begin 
    Connected := False; 
    repeat 
    Log('Checking connection to the server'); 
    try 
     WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1'); 
     { Use your real server host name } 
     WinHttpReq.Open('GET', 'https://www.example.com/', False); 
     WinHttpReq.Send(''); 
     Log('Connected to the server; status: ' + IntToStr(WinHttpReq.Status) + ' ' + 
      WinHttpReq.StatusText); 
     Connected := True; 
    except 
     Log('Error connecting to the server: ' + GetExceptionMessage); 
     if WizardSilent then 
     begin 
     Log('Connection to the server is not available, aborting silent installation'); 
     Result := False; 
     Exit; 
     end 
     else 
     if MsgBox('Cannot reach server. Please check your Internet connection.', 
       mbError, MB_RETRYCANCEL) = IDRETRY then 
     begin 
     Log('Retrying'); 
     end 
     else 
     begin 
     Log('Aborting'); 
     Result := False; 
     Exit; 
     end; 
    end; 
    until Connected; 

    Result := True; 
end; 
+0

、あなたは電子のために作ることをお勧めします簡単なJavaまたは.NETスクリプトでインターネット接続をテストし(ping ...)、インストールを開始する前にInnoSetupから実行しますか? –

+0

いいえ、Inno Setup Pascal Scriptでそのロジックを実装することをお勧めします。答えに例を追加しました。 –

+0

ああ!本当にありがとう! –

関連する問題