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

Ausführungszeitpunkte für CustomActions


16 replies to this topic

MaikC

MaikC
  • Full Members
  • 47 posts

Posted 07 February 2007 - 09:56

Hallo,

ich möchte in einem Basic MSI Project (IS12 Pro) eine Custom Action anlegen welche bei UNINSTALL ausgeführt wird. Wie kann ich denn diese Action so anlegen, dass sie auch NUR bei Uninstall ausgeführt wird.

Das gleiche gilt für INSTALL. Da benötige ich auch eine Custom Action.

Hintergrund:
Ich möchte eine Anwendung installieren, welche mit einem Parameter aufgerufen werden muss um diverse Einrichtugen am System vorzunehmen. Das muss eben bei INSTALL passieren, um die Einrichtungen vorzunehmen und bei UNINSTALL um alle wieder sicher zu entfernen.

Vielen Dank!

Gruß
Maik

ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2007 - 10:34

Hallo,

NOT Installed
REMOVE~=ALL

MaikC

MaikC
  • Full Members
  • 47 posts

Posted 07 February 2007 - 10:47

Hi Ali,

danke für die schnelle Antwort.
Wie ist das dann bei Upgrades/Patches? Da kann es vorkommen, dass sich die Änderungen, welche durch den Aufruf der neuen Applikation, geändert haben. Deshalb muss bei einem Update diese Custom Action auch ausgeführt werden...

Wie könnte man das machen?
Besten Dank.

-Maik

Edited by Maik Czymara, 07 February 2007 - 10:51.


ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2007 - 11:41

bei einem Major Upgrade zieht die Bedingung NOT Installed auch, da das Produkt komplett ersetzt wird.
Für einen Patch könntest du die CA noch mit der Bedingung AND PATCH versehen.

MaikC

MaikC
  • Full Members
  • 47 posts

Posted 07 February 2007 - 12:09

Jetzt bekomme ich einen Fehler beim Ausführen!!!!
Er geht immer in die Routine, welche eigenltich nur beim Ausführen von Uninstall ausgeführt werden soll und da ist die Applikation logischer Weise noch nicht auf dem PC installiert...

Product: Test Installer -- Error 1721.There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: UninstallTest, location: C:\Program Files\Test\myApp.exe, command: /unregister

Ausführungszeitpunkt ist "After Maintenance Welcome" mit der Bedingung "REMOVE~=ALL".

Warum ruft er das überhaupt auf, die Bedingung sollte ja nicht erfüllt sein bei einer NEUINSTALLATION, oder?

ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2007 - 12:16

Naja, du musst die CA schon zu einem Zeitpunkt ausführen wo der Installer auch weiss das er removen muss. nach Maintenance Welcome ist das ja nun nicht der Fall. Am besten wäre die CA in der Execute Sequenz aufgehoben.

ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2007 - 12:22

aso, und da wiederum nach "InstallValidate", und versuchs mal mit REMOVE~="ALL".

Edited by ali, 07 February 2007 - 12:23.


MaikC

MaikC
  • Full Members
  • 47 posts

Posted 07 February 2007 - 12:34

sehr gut! jetzt funktioniert das was die anwendung auch machen soll bei install und uninstall. bei einem major upgrade, update oder patch wird diese CA auch mit der folgenden bedingung ausgeführt, oder?
NOT Installed OR PATCH AND REMOVE~<>"ALL"

Edited by Maik Czymara, 07 February 2007 - 12:34.


MaikC

MaikC
  • Full Members
  • 47 posts

Posted 07 February 2007 - 12:58

sollte funktionieren... also bei mir hats zumindest bei einem upgrade funktioniert!
vielen dank nochmal, hat mir super weitergeholfen!!!!!

noch eine letzte frage: "gibt es eine referenz in welcher man alle conditions nachschlagen kann?" ich habe z.b. "PATCH" oder "REMOVE" in der mitgelieferten doku nicht gefunden...

danke

beste grüße
maik

ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2007 - 13:24

schau mal hier:
http://helpnet.installshield.com
und suche da nach "Property Reference"

Edited by ali, 07 February 2007 - 13:25.


ali

ali
  • Full Members
  • 1,008 posts

Posted 07 February 2007 - 13:50

NOT Installed OR PATCH AND REMOVE~<>"ALL"

wobei du dir das REMOVE hier sparen kannst, weil bei einem PATCH kein REMOVE="ALL" gesetzt ist, der wird ja nur bei der Deinstallation gesetzt.

MaikC

MaikC
  • Full Members
  • 47 posts

Posted 19 March 2007 - 16:01

hallo!
ich habe jetzt ein neues problem...

wenn der benutzer das produkt installiert hat aber irgendwas verschossen ist und auf "repair" oder "modify" geht, dann wird das was bei INSTALL ausgeführt wird nicht mehr ausgeführt.
wie muss denn die bedingung aussehen, damit bei "modify" und "repair" die custom action wieder ausgeführt wird?

bisherige kondition ist, wie gehabt: NOT Installed OR PATCH AND REMOVE~<>"ALL"

danke!

gruß
maik

ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 16:04

ich würde es mit REMOVE~<>"ALL" AND NOT PATCH mal testen.

Edited by ali, 19 March 2007 - 16:09.


MaikC

MaikC
  • Full Members
  • 47 posts

Posted 19 March 2007 - 16:07

dann muss ich aber die logische verknüpfung ändern oder?
sprich: PATCH OR REMOVE~<>"ALL"
wenn ich AND lassen würde, dann bedeutet das ja, dass es ein PATCH sein muss und REMOVE nicht auf ALL steht... richtig?

danke

ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 16:10

sorry, habe noch mal geändert, s.o.
hängt davon ab ob die aktion auch bei einem Patch ausgeführt werden soll.

Edited by ali, 19 March 2007 - 16:11.


MaikC

MaikC
  • Full Members
  • 47 posts

Posted 19 March 2007 - 16:15

ja bei einem patch, update, upgrade, repair und modify und install. im prinzip immer außer beim deinstallieren... wobei mir da gerade mein gehirn flüstert, dass dann aber auch REMOVE~<>"ALL" ausreichen sollte! tongue.gif

oder?

Edited by Maik Czymara, 19 March 2007 - 16:15.


ali

ali
  • Full Members
  • 1,008 posts

Posted 19 March 2007 - 16:38

dann genau.