Wie ein Hyperlink in Inno Setup zeigen?
-
18-09-2019 - |
Frage
Ich bin eine Validierung in meinem Inno Setup Installer machen zu überprüfen, ob ein Microsoft-Update auf dem Computer installiert ist, wenn nicht, ich bin ein einfaches Meldungsfeld zeige den Benutzer zu sagen, dass das Update erforderlich ist, ist dies die Meldung Code:
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);
Ich mag die URL einen Hyperlink auf die Webseite machen, aber ich habe nicht in der Lage gewesen, um es herauszufinden, wie ist es in Inno Setup möglich Text als Hyperlink hinzufügen?
Danke.
Lösung
Die MsgBox()
Funktion in Inno Setup ist ein Wrapper für die Standard-Windows- MessageBox()
Funktion, die AFAIK nicht eingebettete Links unterstützt, so dass es einfach nicht möglich ist, da die Verbindung zu zeigen.
Was Sie könnten jedoch zu tun ist, den Benutzer zu benachrichtigen, dass das Update erforderlich ist, und sie bitten, ob der Link im Standard-Browser zu öffnen. So etwas wie:
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;
Dieser Code wird die Installation abbrechen, aber man konnte eine benutzerdefinierte Seite stattdessen erstellen, die überprüft, ob das Update installiert wurde, und andernfalls verhindert Navigation auf der nächsten Seite. Dies würde nur funktionieren, wenn das Update ohne Neustart des Systems installiert werden, though.