Welches Ergebnis hat eine Variable?

Fragen zum AKInstallerMSI
Antworten
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Welches Ergebnis hat eine Variable?

Beitrag von Kukulkan »

Hallo Herr Kapust,

ich finde es in der Anleitung nicht wirklich. Wenn ich mit der Windows Installer-Suche nach folgendem Registry-Key suche und das in die Variable OUTLOOK nehme:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE\Path

Wenn der Pfad existiert, bekomme ich in der Variable den Pfad der installierten Outlook Executable. Was ist aber in der Variable OUTLOOK wenn der Pfad nicht existiert? Ein FALSE? Oder ein Leerstring? Oder NULL?

Ich möchte eine Bedingung damit erweitern und weiß jetzt nicht ob ich

... AND OUTLOOK = NULL
... AND OUTLOOK = ""
... AND OUTLOOK = FALSE

nutzen soll.

Viele Grüße,

Volker Schmid
Andreas Kapust
Administrator
Beiträge: 1083
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Welches Ergebnis hat eine Variable?

Beitrag von Andreas Kapust »

Guten Tag.

Die Eigenschaft ist nicht gesetzt also

AND (NOT OUTLOOK)

mit oder ohne Klammern.

NULL ist nicht definiert. Prüfungen TRUE und FALSE oder "" sind möglich.
Z.B Bedingung = TRUE (ist Wahr) Bedingung = FALSE (würde also nicht erfüllt)
Eine Prüfung auf PFAD_VAR="" geht auch.
Beispiel: REMOVE="" oder NOT REMOVE (beides trifft zu, wenn REMOVE nicht definiert ist.
Gegenteil: REMOVE~="All" trifft zu wenn REMOVE den Wert ALL hat (~ ignoriert Groß/Kleinschrift).
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Re: Welches Ergebnis hat eine Variable?

Beitrag von Kukulkan »

Vielen Dank!

Nur dass ich es richtig verstanden habe:

OUTLOOK <> ""
OUTLOOK <> FALSE
OUTLOOK = TRUE

würde alles identisch gehen? Also alle liefern ein positives Ergebnis wenn ein Pfad gefunden wurde und ein negatives wenn der Pfad nicht existiert?

Danke!

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1083
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Re: Welches Ergebnis hat eine Variable?

Beitrag von Andreas Kapust »

Guten Tag.

Richtig:
OUTLOOK <> ""
NOT OUTLOOK


Falsch:
OUTLOOK <> FALSE ( Bedeutet OUTLOOK <> 0)
OUTLOOK = TRUE (Bedeutet OUTLOOK = 1)

OUTLOOK soll ja auf einen String bzw. auf das Vorhandensein, nicht auf eine Zahl getestet werden.

Siehe: http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Antworten