Как показать гиперссылку в Inno Setup?
-
18-09-2019 - |
Вопрос
Я выполняю проверку в своем установщике 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;
Этот код прервет установку, но вместо этого вы могли бы создать пользовательскую страницу, которая проверяет, было ли установлено обновление, и в противном случае предотвращает переход на следующую страницу.Однако это сработает только в том случае, если обновление может быть установлено без перезагрузки системы.