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

Benutzerdefinierte Aktion, verzögerte Ausführung


5 replies to this topic

Frank H

Frank H
  • Full Members
  • 9 posts

Posted 12 July 2007 - 09:53

Hallo,

nachdem ich nach tagelangem Testen mit dem InstallShield Express festgestellt habe, dass dort benutzerdefinierte Aktionen nach dem Dateitransfer gar nicht funktionieren können, da man dort den Typ der In-Script-Ausführung nicht verändern kann, bin ich nun beim InstallShield Professional gelandet.
Dort habe ich als benutzerdefinierte Aktion eien neue Msi-Dll hinzugefügt.
Nun funktioniert in meinem aktuellen Projekt zwar die verzögerte Ausführung nach dem Kopieren der Dateien, jedoch erhalte ich beim Zugriff auf eine Property des MSIHANDLEs über MsiGetProperty immer einen leeren String.
Ich bräuchte nur ein paar Eigenschaften, z.B. INSTALLDIR, weiß jedoch im Moment nicht, wie ich weiter vorgehen soll.

Vielen Dank,
Frank

ts1

ts1
  • Full Members
  • 81 posts

Posted 12 July 2007 - 13:51

Hallo Frank,

genau das Problem habe ich einen Thread weiter unten auch gehabt.

Ich habe mir in einer sofort ausführbaren Aktion alle Variablen in eine (temporäre) Ini-Datei und den Pfad zu dieser Ini in die Registry (unter HKLM\Software\[Firmenname]\[Programmpaket]\...) geschrieben.
In einer weiteren Aktion mit verzögerter Ausführung wird auf die Registry zugegriffen und so kommt alle Info wieder raus.

Saublöd umständlich (und damit prinzipiell auch fehleranfällig), aber ich weiß nichts besseres.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 July 2007 - 13:43

Schau mal in die Hilfe unter CustomActionData.

ts1

ts1
  • Full Members
  • 81 posts

Posted 16 July 2007 - 12:47

Ok, mit CustomActionData kann man genau eine einzige Property übertragen (die aber scheinbar fast beliebig füllen).
Bleibt mein Problem, daß wenn ich z.B. das Property SRCDIR in die verzögerte Aktion rette (MessageBox zeigt das dann auch noch korrekt an), daß in der verzögerten Aktion kein Zugriff mehr darüber möglich ist. Er kann in der verzögerten Aktion von SRCDIR keine Ini mehr lesen, keine Datei kopieren, aus, nada, nichts.
Nun muß ich aber nach der eigentlichen Installation über SRCDIR noch komplette Verzeichnisbäume nebst Inhalte abgrasen, das kann ich einfach nicht in eine einzige Property hineinstopfen.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 July 2007 - 17:44

Du bekommst das richtige SOURCEDIR, kannst aber nicht darauf zugreifen? Also ein Rechteproblem?

ts1

ts1
  • Full Members
  • 81 posts

Posted 19 July 2007 - 07:28

Das Rechteproblem besteht wohl darin, daß der System-Kontext die Netzlaufwerke nicht mehr kennt. Leider ist da ein KO-Kriterium, wir brauchen Aktionen mit erhöhten Rechten und allen Laufwerken des angemeldeten Benutzers.