Как показать гиперссылку в Inno Setup?

Я делаю проверку в установщике 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-адрес был гиперссылкой на веб-страницу, но я не смог понять, как это возможно в Inno Setup для добавления текста в качестве гиперссылки?

Спасибо.

Ответ 1

Функция MsgBox() в Inno Setup является оберткой для стандартной функции MessageBox(), которая 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;

Этот код прервет установку, но вместо этого вы можете создать настраиваемую страницу, которая проверяет, было ли установлено обновление, и в противном случае предотвращает переход на следующую страницу. Это будет работать, только если обновление может быть установлено без перезагрузки системы.