Jump to content


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.
Photo

CustomActions mit Feature condition


3 replies to this topic

mvenker

mvenker
  • Full Members
  • 16 posts

Posted 06 October 2010 - 15:33

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!

ali

ali
  • Full Members
  • 1,008 posts

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.


mvenker

mvenker
  • Full Members
  • 16 posts

Posted 07 October 2010 - 09:43

SUPER! Besten dank für deine Antwort.

Das hat funktioniert.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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)