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

Prerequisites mit CA wieder deinstallieren


11 replies to this topic

maniac

maniac
  • Full Members
  • 94 posts

Posted 05 September 2006 - 11:26

Hallo,

ich möchte zuvor installierte Prerequisites mittels einer CA wieder bei einer Deinstallation entfernen. Gibt es da eine Möglichkeit ? Multible (mehrfache) MSIEXEC.EXE Instanzen zur selben Zeit sind ja erst mit Windows Vista (MSI 4.0) angeblich erlaubt.

Alle versuche sind bis jetzt gescheitert.

Gruß maniac

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 September 2006 - 11:44

QUOTE
ich möchte zuvor installierte Prerequisites mittels einer CA wieder bei einer Deinstallation entfernen. Gibt es da eine Möglichkeit ?
Typischerweise wieder über eine externe EXE. Deren Aufruf ist beim Uninstall aber natürlich nicht ganz so einfach. Ich weiss auch nicht ob das so eine gute Idee ist. Was ist, wenn zwischenzeitlich eine andere Software installiert wurde die die gleiche Prerequisite benötigt?

QUOTE
Multible (mehrfache) MSIEXEC.EXE Instanzen zur selben Zeit sind ja erst mit Windows Vista (MSI 4.0) angeblich erlaubt.
Das ist mir neu. Wo steht das?

maniac

maniac
  • Full Members
  • 94 posts

Posted 05 September 2006 - 13:51

QUOTE (maniac @ 2006-09-05 14:51)
QUOTE
QUOTE
ich möchte zuvor installierte Prerequisites mittels einer CA wieder bei einer Deinstallation entfernen. Gibt es da eine Möglichkeit ?
Typischerweise wieder über eine externe EXE. Deren Aufruf ist beim Uninstall aber natürlich nicht ganz so einfach. Ich weiss auch nicht ob das so eine gute Idee ist. Was ist, wenn zwischenzeitlich eine andere Software installiert wurde die die gleiche Prerequisite benötigt?]
Hallo Stefan. Das es irgendwie über eine externe EXE gehen könnte dachte ich mir schon. Ich hatte versucht als CA eine "Launch an executable" zu nutzen und dann aus [SystemFolder] die MSIEXEC.EXE aufzurufen mit Parameter /x {Paketcode}. Nur leider ist dann immer noch das Problem, das eine 2te Instanz von MsiExec.exe gestart wird, welches nicht zulässig ist. Gibt es vielleicht die Möglichkeit das inrgendwie in eine bestimmte Sequenz mit bestimmt In-Script-Execution einzuordnen? Es hast Du eine andere Lösung. Es ist bei uns immer sehr wichtig ebenfalls eine saubere Deinstallation mitzubringen. Alte Leichen dürfen nicht im System verbleiben. Da wir auf feste Infrastuktur im Unternehmen aufsetzten sind auch nur freigegeben Application erlaubt. Das Problem mit anderen Produkten besteht also die gleichen Resourcen verwenden. Und wenn haben wir das im Überblick.

QUOTE
QUOTE
Multible (mehrfache) MSIEXEC.EXE Instanzen zur selben Zeit sind ja erst mit Windows Vista (MSI 4.0) angeblich erlaubt.
Das ist mir neu. Wo steht das?
Meinenserachtens hatte ich das mal in einer Powerpoint Präsi gelesen. Aber vielleicht irre ich mich hier auch. Mal sehen ob ich das Dokument noch finden kann.

Edited by maniac, 05 September 2006 - 13:51.


Dominik Oberlin

Dominik Oberlin
  • Full Members
  • 12 posts

Posted 05 September 2006 - 15:49

Nur vorher als eingebettete Installation (Nested Installation) installierte Windows Installer Pakete, lassen sich im Deinstallationsprozess auch wieder über eine "Nested Installation" via CustomAction deinstallieren. Dieses Verfahren wird aber nicht empfohlen!

http://support.micro...kb;en-us;306439
http://msdn.microsof...stallations.asp

Deinstalliere Deine Abhängigkeit über Dein Softwareverteilungstool oder über einen Bootstrapper.



Dominik Oberlin

Edited by Dominik Oberlin, 05 September 2006 - 15:52.


maniac

maniac
  • Full Members
  • 94 posts

Posted 05 September 2006 - 16:42

Das mit den Nested habe ich jetzt Jahre lang so gemacht. Und nun ist es nicht mehr State of the Art. Na ja, ist schon komisch, das hier von MS eine andere Methode (via Bootstrapper) forciert wird und dann nicht an komfortable Entfernung aller abhängiger Komponenten gedacht wird. mad.gif sad.gif mad.gif sad.gif

ali

ali
  • Full Members
  • 1,008 posts

Posted 06 September 2006 - 09:14

Hallo maniac,
du könntest vielleicht mal probieren in die Dialoge für den Maintenance Mode einen Abfrage Dialog einzubauen, in dem du den Kunden einfach Fragst ob die Prerequisites wieder entfernt werden sollen. So könntest du auch umgehen etwas zu entfernen was der Kunde vielleicht noch will/braucht. Wenn die zb. Checkbox angehakt wird, könntest du direkt aus der UI Sequens mittels CA "Ausführbare exe" einen Deinstall anwerfen, bevor du deinen eigenen Deinstall in die Execute Sequenz übergibst, denn nur dort können keine 2 Setups parallel laufen, solange du dich in der UI Sequenz befindest, solltes das klappen.

ALI

maniac

maniac
  • Full Members
  • 94 posts

Posted 06 September 2006 - 11:15

Super Idee. Es funzt. Ich hab mal zum Test in den Dialog "Ready to remove" eine Checkbox eingebaut an der ein Script hängt welches das gewählte angeklickte Produkt dann deinstalliert.

Danke. biggrin.gif

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 September 2006 - 12:54

Teste das aber auch mal unter Vista. Mit UAC haben Custom Actions in the Ui Sequenz grundsätzlich keine Admin-Rechte.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 September 2006 - 12:55

und außerdem: wenn die Deinstallation über den Entfernen-Button in der Systemsteuerung durchgeführt wird, dann werden deine Dialoge überhaupt nicht aufgerufen (Basic UI Mode). Du musst also die Benutzer zwingen über den "Ändern" Button zu gehen.

ali

ali
  • Full Members
  • 1,008 posts

Posted 06 September 2006 - 13:32

Mit UAC haben Custom Actions in the Ui Sequenz grundsätzlich keine Admin-Rechte
wo steht das denn, ich habe den Artikel gelesen, konnte da aber nix drüber finden:

UAC

Das man das Prer... aus dem Software Menü beim Deinstallieren nicht entfernen kann, ist schon klar, da hier nur Silent und damit nur die Exequte Sequenz ausgeführt wird. Aber wenn der Anwender schon mal da ist, kann er doch gleich dort die Prerequisite mit entfernen;-)
Ich weiß sowieso nicht, was der Bill sich dabei gedacht hat, als er dort nur einen Silent deinstall zulässt. Das muss doch der Entwickler entscheiden können wie er das haben will. Also mit oder ohne UI, es ist sowieso ein greul, das man diese Buttons nicht steuern kann. Aber vielleicht kommt das ja mit MSI 11.0 in Windows2065 :-)

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 September 2006 - 14:33

QUOTE
wo steht das denn, ich habe den Artikel gelesen, konnte da aber nix drüber finden

Äh, kann sein dass ich das in einem noch nicht veröffentlichten Whitepaper gelesen habe. Du kannst es aber auch einfach mal ausprobieren.

Allgemein kann ich nur allen empfehlen sich intentiv mit UAC auseinanderzusetzen. Das ist nicht immer ganz leicht zu verstehen, aber es kann sich erheblich auf Setups auswirken. Es gab dazu einen Webcast, den man als Aufzeichnung anschauen kann, und es wird am 18.10. einen weiteren geben. Siehe http://www.installsi...msi/webcast.htm

maniac

maniac
  • Full Members
  • 94 posts

Posted 07 September 2006 - 14:46

Das mit dem Entfernen Button aus dem Applet war mir klar, dass da kein UI angezeigt wird. Die hätte ich dann eh ausgeblendet, sodass der Nutzer nur über "Ändern" gehen kann. Ich gebe Ali übrings Recht, das es unmöglich ist, das an diesen Stellen der Entwickler nicht selber steuern kann ob beim entfernen nun eine Full-UI oder Silent kommt.

Das mit der UAC ist ja beängstigend.