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

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

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