12

Inno Setup インストーラーで検証を行って、Microsoft の更新プログラムがマシンにインストールされているかどうかを確認しています。インストールされていない場合は、更新プログラムが必要であることをユーザーに伝える簡単なメッセージ ボックスを表示しています。これがメッセージ コードです。 :

MsgBox(
  'Your system requires an update supplied by Microsoft. ' +
  'Please follow this link to install it: ' + 
  'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en',
  mbInformation, MB_OK);

URL を Web ページへのハイパーリンクにしたいのですが、方法がわかりません。Inno Setup でテキストをハイパーリンクとして追加できますか?

ありがとう。

4

1 に答える 1

16

Inno SetupのMsgBox()関数は標準の WindowsMessageBox()関数のラッパーであり、AFAIK では埋め込みリンクをサポートしていないため、リンクを単純に表示することはできません。

ただし、更新が必要であることをユーザーに通知し、デフォルトのブラウザーでリンクを開くかどうかを尋ねることができます。何かのようなもの:

function InitializeSetup(): Boolean;
var
  ErrCode: integer;
begin
  if MsgBox('Your system requires an update supplied by Microsoft. Would you like to visit the download page now?', mbConfirmation, MB_YESNO) = IDYES
  then begin
    ShellExec('open', 'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en',
      '', '', SW_SHOW, ewNoWait, ErrCode);
  end;
  Result := False;
end;

このコードはインストールを中止しますが、代わりにカスタム ページを作成して、更新がインストールされているかどうかを確認し、それ以外の場合は次のページへのナビゲーションを防止することができます。ただし、これは、システムを再起動せずに更新をインストールできる場合にのみ機能します。

于 2009-10-12T10:27:34.670 に答える