Hallo,
ich möchte gerne eine CustomAction IMMER ausführen wenn ein bestimmtes Feature Installiert ist.
Laut einem Artikel von InstallShield u. Microsoft macht man dies über die Condition "&FeatureA=3". Dies funktioniert auch soweit nur wenn ich nun ein Update (kein Patch!) über die aktuelle Version Installiere wird die Bedingung ausgelassen.
Im LogFile finde ich folgenden Feature Status wieder.
MSI (s) (B0:1C) [16:06:53:375]: Feature: FeatureA; Installed: Local; Request: Reinstall; Action: Reinstall
Und die Aktion wird mit der folgende Meldung ausgelassen.
MSI (s) (B0:1C) [16:07:43:985]: Skipping action: IISReset (condition is false)
Meine Bedingung für die CustomAction lautet:
IIS_VERSION>"#6" AND &FeatureA=3
Wobei IIS_Version den Wert "#7" hat.
MSI © (5C:6C) [16:06:39:454]: PROPERTY CHANGE: Adding IIS_VERSION property. Its value is '#7'.
Hat jemand eine Ahnung warum die Aktion dennoch ausgelassen wird?
Vielen Dank!
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
CustomActions mit Feature condition
Started by
mvenker
, Oct 06 2010 15:33
3 replies to this topic
Posted 07 October 2010 - 09:04
QUOTE |
IIS_VERSION>"#6" AND &FeatureA=3 |
&Feature= fragst du nur ab, ob ein Feature aktuell lokal installiert werden soll (Action state). Wenn aber auf ein bereits lokal installiertes Feature ein Update gefahren wird , dann ist die Bedingung natürlich nicht wahr, da das Feature ja nun schon lokal installiert ist (Installed: Local). Du musst deiner Bedingung also hinzufügen, dass diese auch wahr sein soll wenn das Feature bereits lokal installiert ist (Install state). Das machst du so
IIS_VERSION>"#6" AND (&FeatureA=3 Or !FeatureA=3)
wobei das & den "Aktion state" und das ! den "Install state" des Feature abfragt.
versuch's mal.
ali
Edited by ali, 07 October 2010 - 09:05.
Posted 07 October 2010 - 14:38
Da gehört eigentlich noch was dazu:
IIS_VERSION>"#6" AND (&FeatureA=3 Or (!FeatureA=3 And &FeatureA<>2))
Denn sonst würde die Aktion auch aufgerufen, wenn FeatureA zwar bereits installiert ist, aber jetzt gerade entfernt werden soll (besonders sichtig im Modify-Modus wenn der Anwender das Feature abwählt)
IIS_VERSION>"#6" AND (&FeatureA=3 Or (!FeatureA=3 And &FeatureA<>2))
Denn sonst würde die Aktion auch aufgerufen, wenn FeatureA zwar bereits installiert ist, aber jetzt gerade entfernt werden soll (besonders sichtig im Modify-Modus wenn der Anwender das Feature abwählt)
Stefan Krüger
InstallSite.org twitter facebook