Weil ich nun selbst ein paar mal danach suchen musste, will ich hier die verfügbaren Vergleichsoperatoren für die Condition und Publish Tags mal selber aufführen.
WiX: Expressions Logische Operatoren
NOT | Invertiert die folgende Bedingung |
AND | logisches Und |
OR | logisches Oder |
XOR | exklusives Oder |
EQV | Äquivalenz ( A<=>B, A genau dann, wenn B) |
IMP | Implikation (A => B, aus A folgt B) |
WiX: Expressions Vergleichsoperatoren
= | gleich |
<> | nicht gleich |
> | größer als |
>= | größer als oder gleich |
< | kleiner als |
<= | kleiner als oder gleich |
~= | gleich, ohne Berücksichtigung der Klein-/Großschreibung |
~<> | nicht gleich, ohne Berücksichtigung der Klein-/Großschreibung |
~> | größer als, ohne Berücksichtigung der Klein-/Großschreibung |
~>= | größer als oder gleich, ohne Berücksichtigung der Klein-/Großschreibung |
~< | kleiner als, ohne Berücksichtigung der Klein-/Großschreibung |
~<= | kleiner als oder gleich, ohne Berücksichtigung der Klein-/Großschreibung |
WiX: Expressions zusätzliche Stringvergleiche
>< | links enthält rechts, z.B. aber >< be = wahr |
<< | links startet mit rechts, z.B. aber << ab = wahr |
>> | links endet mit rechts, z.B. aber>>er = wahr |
WiX: Expressions Bitweise Operatoren
>< | bitweises Und |
<< | oberen 16 Bit von links sind gleich rechts |
>> | unteren 16 Bits von links sind gleich rechts |
Man sollte die Bedingungen immer in ein <![CDATA[ und ]]> einschließen, weil sonst die < und > als öffnende oder schließende Klammern interpretiert werden könnten.
Man kann natürlich Properties für die Vergleiche verwenden, die werden wie folgt ausgewertet:
- PROPERTY
wird zu true ausgewertet, falls die Property überhaupt gesetzt ist, egal wie. Auch wenn die Property selbst auf false steht.
- NOT PROPERTY
wird zu true ausgewertet, falls die Property nicht gesetzt ist.
- PROPERTY = TRUE, PROPERTY = FALSE
Dies ist der richtige Weg, die Property auf logische Werte zu prüfen.
Wenn man den Properties besondere Zeichen voransetzt, bekommen sie eine besondere Bedeutung:
% | Umgebungsvariable (Name ist unabhängig von Groß-/Kleinschreibung) |
$ | Action state der Komponente |
? | Installiertstatus der Komponente |
& | Action state des Features |
! | Installationsstatus des Features |
Die letzten 4 können folgende Integer-Werte zurückliefern:
-1 | keine Aktion durchzuführen |
1 | angekündigt (nur für Features) |
2 | nicht vorhanden |
3 | auf lokalem Computer |
4 | von Quelle ausführen |
Als ich diesen Text geschrieben habe, standen sie noch unter Expression Syntax zur Verfügung.
Schreibe einen Kommentar
Du musst angemeldet sein, um einen Kommentar abzugeben.