verstehe nicht, dass WiX-Bedingungen eine logische Logik haben

8

Um zu überprüfen, ob .NET Framework installiert ist, können Sie folgende Bedingung verwenden:

%Vor%

Ich verstehe nicht, warum die beiden Unterbedingungen (Installiert, NETFRAMEWORK20) mit einem OR -Operator kombiniert sind, ich würde eher so etwas erwarten, wo beide Bedingungen mit einem AND kombiniert sind:

%Vor%

Wo ist mein Missverständnis?

    
nabulke 16.07.2011, 08:19
quelle

1 Antwort

13

Weil das <Condition> -Element eine Bedingung für das Installationsprogramm ist, fortzusetzen (und die Nachricht wird nur verwendet, wenn die Bedingung fehlschlägt ).

Also möchten wir fortsetzen diese Installation ausführen, wenn entweder :

  1. Dieses -Paket ist bereits installiert. Wir führen eine andere Aktion aus (z. B. Entfernung), und wir müssen keine anderen Bedingungen überprüfen oder
  2. (Weil die erste Bedingung nicht wahr war) Wir führen gerade die Installation des Pakets durch und haben festgestellt, dass .NET Framework 2.0 (oder besser) installiert ist.

Wenn <Condition> nur NETFRAMEWORK20 war und jemand gerade .NET Framework deinstalliert und dann versucht hat, Ihr Paket zu deinstallieren, würde die Bedingung fehlschlagen und die Meldung "Diese Anwendung erfordert .NET Framework" angezeigt sehr nervig sein.

    
Damien_The_Unbeliever 16.07.2011, 10:38
quelle

Tags und Links