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

Probelm Feature deinstallieren im Maintenancemode


8 replies to this topic

PeKaWe

PeKaWe
  • Full Members
  • 98 posts

Posted 21 July 2004 - 10:35

Hi,

ich habe folgendes Problem:
Im Setup kann der User in einem Dialog vor CustomSetup verschiedene Installationsarten wählen. Abhängig davon werden über Conditions Feature im FeatureTree ausgeblendet (Installevel=0 für das betreffende Feature).

Das funktioniert bei einer Erstinstallation wunderbar, bin ich aber im Maintenace-Mode, und will die Installationsart gegenüber der Erstinstallation ändern, so werden die Features zwar im Tree ausgeblendet, aber es wird nichts deinstalliert. Im Logfile sagt mir InstallValidate "Installed: Absent"!!!! und ist deshalb der Meinung nichts tun zu müssen, da das Feature ja angeblich nicht installiert ist. Das Feature ist aber installiert, mit allen Komponenten etc.

Ich habe auch schon versucht mit MsiSetFeatureState und dem Property REMOVE das Feature zur Deinstallation vorzumerken. Funktioniert aber nicht.

Warum ist das so? Was kann ich tun ???

Danke und Gruß,
Peter


Ciao for Now[br]PeKaWe

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 July 2004 - 16:02

Im Hilfe-Thema "Condition Table" steht:

Conditions should be carefully chosen so that a feature is not enabled on install and then disabled on uninstall. This will orphan the feature and the product will not be able to be uninstalled.



PeKaWe

PeKaWe
  • Full Members
  • 98 posts

Posted 21 July 2004 - 16:53

Hallo Stefan,

das ich bei einer Deinstallation darauf achten muß, das das Feature nicht disabled wird, habe ich berücksichtigt. Aber ich mache hier ein Change. Es muß doch möglich sein, daß ich Features, z.B. über die Wahl einer Installationsart (oder einer Lizenz) im Tree ausblende, und diese dann auch deinstalliert werden.

Gruß,
Peter
Ciao for Now[br]PeKaWe

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 July 2004 - 23:00

Ib du das ganze Setup deinstallierst oder nur ein Feature macht vermutlich keinen Unterschied. Ein ausgeblendetes Feature wird einfach in jeder Hinsicht ignoriert.
Natürlich kannst du ein Feature deinstallieren. Aber du kannst es nicht über feature level 0 unsichtbar machen.

PeKaWe

PeKaWe
  • Full Members
  • 98 posts

Posted 22 July 2004 - 10:24

Hallo Stefan,

obwohl ich genau das schon befürchtet habe, ist es das was ich nicht hören wollte ;-)

Gibt es einen anderen Weg Features im Tree auszublenden (IS-Basic-Prj mit Org. WI-Gui)?
Würde es funktionieren die entsprechenden Records im Featuretable vor dem Aufbauen des Trees auf 'Nicht Sichtbar' zu stellen?


Danke im voraus und Gruß,
Peter
Ciao for Now[br]PeKaWe

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 July 2004 - 08:22

Ich glaube das Ändern der Feature-tabelle "on the fly" funktioniert nicht, wenn sie in der .msi Datei gespeichert ist. D.h. du müsstest vermutlich die ganze Feature Tabelle dynamisch erzeugen (bei der Setup-Initialisierung).

PeKaWe

PeKaWe
  • Full Members
  • 98 posts

Posted 23 July 2004 - 10:09

Genau das habe ich befürchtet.

Hatte so was auch schon mal probiert, war mir aber nicht sicher, ob es nicht geht, oder ob ich einen Fehler gemacht habe.
Gibt es sonst noch eine Möglichkeit Features auszublenden?

Gruß,
Peter
Ciao for Now[br]PeKaWe

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 July 2004 - 14:48

Einen Dialog mit Checkboxen anstelle des Feature Tree.
Oder über ein External User Interface (z.B. per InstallScript MSI, obwohl ich das möglichst vermeiden würde)

PeKaWe

PeKaWe
  • Full Members
  • 98 posts

Posted 26 July 2004 - 09:44

Das ist nicht wahr, oder?

Ich hatte schon überlegt aus einer DLL-Heraus ein eigenes Tree-Control auf den Dialog zu legen.
Da ich aber kein Event 'DialogLoad' o.ä. habe, müßte ich dann aber die Dll-funktion asynchron zum Setup laufen lassen können, sie vor Anzeige des Dialogs starten und dann in der Dll ständig prüfen, ob der Dialog sichtbar ist, verschoben wird usw... .

Also auch alles sehr unschön. Nur hätte ich da die Kontrolle gehabt, was wann wie angezeigt wird.

Obwohl ich ja in WI 3.0 die Events, die der Tree bei Featureänderung auslöst nutzen könnte um die Items ausblenden zu lassen.

Ich hatte mich gerade gefreut, daß in WI 3.0 nun Events vom Tree ausgelöst werden. Habe schon überlegt, ob ich Bedingungen zwischen Features nun optisch im Tree darstellen, kann.

Ist es eigentlich möglich nur einen Dialog (CustomSetup) gegen einen eigenen auszutauschen.
Ich würde dann aber schon gern die Dialogreihenfolge wie bisher über die Back- und Forwardbuttons laufen lassen.

Gruß,
Peter
Ciao for Now[br]PeKaWe