IS12 TARGETDIR falsch !!!
Posted 08 November 2006 - 11:45
wir haben ja nun auf IS12 umgestellt. Jetzt haben wir hier ein Problem beim Admin Setup. Wir setzen über einen Dialog das TARGETDIR. Das TAGETDIR wir korrekt übernommen und gesetzt, das sieht man im Script. In der Action CoastFinalize werden auch dir Directory Propertys richtig gesetzt und auch mit der Action InstallFiles richtig installiert bzw. Kopiert. Aber wenn die Action ResolveSource ausgeführt wird, dann wird das TARGETDIR überschrieben, und zwar auf "Nothing", es ist leer. Für die eigentliche Kopieraktion ist das kein Problem, da die Verzeichnisproperties ja schon richtig übernommen wurden, aber wir führen noch ein Script aus, mit dem wir z.b. die Setup.exe, die .ini usw. an den Zielspeicherort kopieren, diese werden nicht mehr kopiert, da das Verzeichnis TARGETDIR leer ist. Mit IS10.5 hat das alles noch sauber funktioniert. Was sehr verwunderlich ist, ist das in der Action ResolveSource als derzeitiger Wert des TARGETDIR der Inhalt von SOURCEDIR angezeigt wird, als neuer Wert wird nichts angezeigt.
Ich habe nun versucht als WorkArround die Aktion ResolveSource in der Sequenz rauszunehmen, da die eigntlich von uns nicht benötigt wird. Aber wenn die Aktion nicht ausgeführt wird, wir diese automatisch bei der Aktion InstallAdminPakage ausgeführt und das TARGETDIR wieder zersemmelt.
Ist diese Problem mit IS12 schon bekannt, das kann ja nicht normal sein, da die Aktion mit IS10.5, IS9, IS7 usw. noch sauber gelaufen ist
Posted 08 November 2006 - 14:03
Posted 08 November 2006 - 15:19
Stefan Krüger
InstallSite.org twitter facebook
Posted 08 November 2006 - 18:40
Posted 09 November 2006 - 01:43
Visual Studio hat glaube ich so eine Funktion eingebaut, wahrscheinlich hast du dein Beispiel dort gefunden. Bei InstallShield ist so eine Funktion nicht eingebaut.
Aber du musst das Rad nicht neu erfinden, schau dir einfach mal das Beispiel "Decode the CustomActionData Property in InstallScript" auf http://www.installsi...s/en/msi/ca.htm an.
Stefan Krüger
InstallSite.org twitter facebook
Posted 10 November 2006 - 15:12
diese neue Funktionalität scheint sich aber nur auf Script zu begrenzen, wenn ich Verzeichnispropertys über CA's setze, dann funktioniert das ohne Problems.
Posted 10 November 2006 - 19:44
Das war eigentlich schon immer so, nur InstallScript war eine Ausnahme weil es eine externe Script Engine gab die die ganze Zeit lief und damit z.B. auch globale Variablen ermöglichte. Das hat aber eine Kommunikation zwischen den beiden Prozessen (der InstallScript-Engine und MSI) erfordert, und die hat öfter nicht richtig funktioniert (z.B. abhängig von DCOM Sicherheitseinstellungen). Deshalb ist man in Version 12 davon weggegangen. Jetzt wird für jede InstalLScript Custom Action eine Script-Eingine Instanz gestartet und dananch wieder beendet. Deshalb gibt's keine globalen Variablen mehr und deferred Aktionen müssen CustomActionData verwenden um an die Daten zu kommen.
Stefan Krüger
InstallSite.org twitter facebook
Posted 17 November 2006 - 09:07
Edited by ali, 17 November 2006 - 09:08.
Posted 17 November 2006 - 16:13
Stefan Krüger
InstallSite.org twitter facebook
Posted 20 November 2006 - 09:02