Вопрос

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

Спасибо.

Это было полезно?

Решение

В 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;

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top