Pergunta

Eu estou fazendo uma validação no meu instalador Inno Setup para verificar se há ou não uma atualização do Microsoft está instalado na máquina, se não, eu estou mostrando uma caixa de mensagem simples informando ao usuário que a atualização é necessária, esta é código de comunicação:

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

Eu quero fazer o URL de um hiperlink para a página da web, mas eu não tenho sido capaz de descobrir como é possível no Inno Setup para adicionar texto como um hyperlink?

Graças.

Foi útil?

Solução

A função MsgBox() em Inno Setup é um wrapper para o padrão do Windows MessageBox() função, que AFAIK não suporta links embutidos, por isso não é possível mostrar simplesmente o link lá.

O que você pode fazer, porém, é para notificar o usuário que a atualização é necessária, e pedir-lhes a possibilidade de abrir o link no navegador padrão. Algo como:

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;

Este código irá abortar a instalação, mas você pode criar uma página personalizada em vez que verifica se a atualização foi instalada, e de outra forma impede a navegação para a próxima página. Isso funciona somente se a atualização pode ser instalado sem uma reinicialização do sistema, no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top