WiX: Operatoren für Ausdrücke

    No Comments

    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

    NOTInvertiert die folgende Bedingung
    ANDlogisches Und
    ORlogisches Oder
    XORexklusives Oder
    EQVÄquivalenz ( A<=>B, A genau dann, wenn B)
    IMPImplikation (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:

    -1keine Aktion durchzuführen
    1angekündigt (nur für Features)
    2nicht vorhanden
    3auf lokalem Computer
    4von Quelle ausführen

    Als ich diesen Text geschrieben habe, standen sie noch unter Expression Syntax zur Verfügung.

    Categories: WiX Tags: Schlagwörter: , , , ,

    Schreibe einen Kommentar