Mit "XML File Changes" soll bei einer Neuinstallation ein XML File erstellt werden (Feature Condition: Not Installed). Obwohl die Condition false ist, wird das XML File auch im Maintenance Mode überschrieben. Zum Testen habe ich im Property Manager ein Property TEST mit dem Wert 0 definiert. Das XML File wird auch bei Condition TEST=1 überschrieben. Es sieht fast so aus, als ob XML Changes immer ausgeführt werden, unabhängig von der Condition.
Wo könnte das Problem liegen?
Vielen Dank für die Hilfe.
Version: InstallShield 2012 Premier Edition / Service Pack 1
Feature mit "XML File Changes" wird immer ausgeführt
Posted 02 September 2013 - 13:36
Posted 02 September 2013 - 16:22
Feature Conditions sind hier nicht der richtige Weg (sie würden ggf. dazu führen, dass das Feature deinstalliert wird).
Versuch's mal so: Gehe in Behavior and Logic > Custom Actions and Sequences. Rechtsklicke ganz oben auf "Custom Actions" und wähle "Show all". Dann werden auch die eingebauten Aktionen angezeigt, u.a. ISXmlInstall & Co. Gehe dort in den Bereich Sequence der Xml-Aktionen und setze eine passende Bedingung.
Stefan Krüger
InstallSite.org twitter facebook
Posted 03 September 2013 - 06:46
Vielen Dank für die schnelle Antwort, so funktioniert es tatsächlich.
Die Lösung hat jedoch den Nachteil, dass es nicht möglich ist, in einem Projekt mehrere XML-Files mit verschiedenen Bedingungen zu ändern.
Posted 03 September 2013 - 09:36
wenn du dein XML File Change mit einem Feature verknüpfst, dann kannst du in den Dialogen über deine Bedingungen festlegen, ob dein Feature lokal installiert wird oder nicht . Dem entsprechend wird dann dein XML File Change nur augeführt, wenn dein Feature installiert wird. Im Maintenance Mode funktioniert das über "Ändern" genauso. Im Silent-Fall, musst du dafür sorgen, dass deine Feature-Bedingungen vor der Aktion MigrateFeatureStates den InstallLevel festlegen, dann sollte das mit den Bedingungen auch hier funktionieren.
Wenn du das genau auswerten möchtest, dann schreibe doch ein Log mit und schau dir immer den InstallState deines Features an um zu prüfen, ob diene Bedingungen richtig ausgewertet wurden.