Pregunta

Estoy haciendo una validación en mi instalador Inno Setup para comprobar si es o no se instala una actualización de Microsoft en la máquina, si no, que estoy mostrando un cuadro de mensaje simple que indica al usuario que la actualización es necesaria, esto es el código de mensaje:

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

Quiero hacer la URL de un hipervínculo a la página web, pero no he sido capaz de averiguar cómo, es posible que en la disposición de Inno para añadir texto como un hipervínculo?

Gracias.

¿Fue útil?

Solución

La función MsgBox() en Inno Setup es un contenedor para el estándar de Windows función MessageBox() , que yo sepa no soporta enlaces incorporados, así que no es posible mostrar simplemente el enlace allí.

Lo que podría hacer sin embargo es notificar al usuario de que la actualización es necesaria, y preguntarles si desea abrir el enlace en el navegador por defecto. Algo así 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 se abortará la instalación, pero se puede crear una página personalizada en lugar que comprueba si la actualización se ha instalado, y por otra parte impide la navegación a la página siguiente. Esto sólo funcionaría si la actualización se puede instalar sin un reinicio del sistema, sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top