7 Stimmen

Überspringen Sie die Installation in Inno Setup, wenn ein anderes Programm nicht installiert ist.

Ich muss einen Weg finden, wie ich die Installation überspringen kann, wenn ein anderes Programm nicht installiert ist. Ich kann die Registrierung des anderen Programms erkennen (Basic Script gibt true/false zurück), das ist kein Problem. Aber ich weiß nicht, wie ich die Installation überspringen kann.

Kurz gesagt: Wenn ein Schlüssel in der Registrierung nicht gesetzt ist, wird die Meldung Programm xyz vor diesem installieren". und Installateur fertigstellen.

15voto

Andreas Rejbrand Punkte 100651

Das ist sehr einfach. Einfach hinzufügen

[Code]

function IsApp2Installed: boolean;
begin
  result := RegKeyExists(HKEY_LOCAL_MACHINE,
    'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\app2.exe');
end;

function InitializeSetup: boolean;
begin
  result := IsApp2Installed;
  if not result then
    MsgBox('You need to install App2 before you install ThisApp. Install App2 and then run this installer again.', mbError, MB_OK);
end;

zu Ihrer ISS-Datei. InitializeSetup ist eine sogenannte Ereignisfunktion die beim Start des Installationsprogramms ausgeführt wird (noch bevor die grafische Benutzeroberfläche des Assistenten angezeigt wird). Wenn Sie false drücken, wird das Installationsprogramm sofort beendet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X