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

Rückgabewerte von Deferred Custom Actions


6 replies to this topic

vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 02 July 2013 - 16:42

Hallo,

 

in einem Basic MSI Setup mit InstallScript habe ich eine "Deferred Custom Action". Parameter kann ich an diese mit

MsiSetProperty(hMSI, "ActionOnDeferredInstall", ActionOnDeferredInstall);

übergeben und mit

MsiGetProperty(hMSI, "CustomActionData", sBuffer, nSize);

innerhalb der "Deferred Custom Action" abfragen.

 

Nun möchte ich aber auch Werte aus der "Deferred Custom Action" an nachfolgende normale "Custom Action" übergeben, um sie dort weiter zu verarbeiten bzw. anzuzeigen.

Wie kann ich diese Werte übergeben?

 

 

Zusatzfrage:

Mit den folgenden Anweisungen kann ich innerhalb der "Deferred Custom Action" zumindestens Statusmeldungen ausgeben.

hActionRec = MsiCreateRecord(3);

MsiRecordSetString(hActionRec, 1, Action);
MsiRecordSetString(hActionRec, 2, Description);
MsiRecordSetString(hActionRec, 3, Template);

ret = MsiProcessMessage(hMSI, INSTALLMESSAGE_ACTIONSTART, hActionRec);

Gibt es eine Möglichkeit, mit MsiProcessMessage(???) ausgegebene Daten später in einer normalen "Custom Action" wieder einzulesen und weiterzuverarbeiten?



ali

ali
  • Full Members
  • 1,008 posts

Posted 03 July 2013 - 16:12

Ich kann dir nicht sagen ob das mit MsiProcessMessage geht.

 

Nun möchte ich aber auch Werte aus der "Deferred Custom Action" an nachfolgende normale "Custom Action" übergeben

 

 

Der Satz verwirrt mich aber ein wenig. Wenn deine Deferred CA ausgeführt wird, wurde dein "Normale" CA schon abgearbeitet, oder möchtest du diese "normale" CA nach InstallFinalize ausführen.



vschober@gesytec.de

vschober@gesytec.de
  • Full Members
  • 19 posts

Posted 04 July 2013 - 14:54

Ich möchte eine (weitere) "normale" CA nach InstallFinalize ausführen, um die Ergebnisse der Deferred CA dort auszuwerten und ggf. für den Nutzer aufzubereiten.



ali

ali
  • Full Members
  • 1,008 posts

Posted 05 July 2013 - 13:17

Wenn du dir in der Property Table Propertys anlegst und deine Werte darin speicherst, könntest du diese dann in deiner 2. CA nach InstallFinalize dort wieder auslesen bzw. im Dialog anzeigen.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 July 2013 - 19:15

ali, bist du sicher, dass man aus einer Deferred Action die Property-Tabelle bearbeiten kann?

Ansonsten hilft nur, die Informationen extern zu speichern, z.B. in eine temporäre Datei.



ali

ali
  • Full Members
  • 1,008 posts

Posted 11 July 2013 - 08:31

hm, über  CutomActionData kann ich die vermutlich nur auslesen, was ich auch mache:

Hier mal ein Link zu dem Flexera Help Library:

http://kb.flexerasof...DeferredCAs.htm

 

dann eben wie du sagst doch extern speichern...


Edited by ali, 11 July 2013 - 08:40.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 July 2013 - 14:53

Ja, CustomActionData kann man lesen, weil sie da bei der Skripterstellungsphase reingeschrieben werden, Aber umgekehrt geht es eben nicht. (Zu den Installationsphasen siehe auch http://www.installsi...00108/index.htm)