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

Error 1722 - why?


3 replies to this topic

Hensz

Hensz
  • Full Members
  • 23 posts

Posted 08 May 2008 - 10:36

Hi!

Ich habe eine Installation erstellt mit InstallShield 11.5, in der eine Custom Action benutzt wird um eine von mir erstellte Applikation zu starten. Diese Custom Action schlägt fehl mit der allseits beliebten und nichtssagenden Fehlermeldung "Error 1722". Diese besagt ja lediglich, dass beim Ausführen der EXE ein Fehler aufgetreten ist. In der Log-Datei steht:
"Action ended 9:45:49: MyCA_RunEXE. Return value 3."

Nun habe ich die Applikation so modifiziert, dass im Konstruktor der Applikationsklasse eine eigene Log-Datei geschrieben wird. Diese wird aber während der Installation nicht geschrieben. Daraus schließe ich, dass die Applikation bei der Installation nicht gestartet werden kann. Dennoch kann ich während die Fehlermeldung angezeigt wird meine Applikation problemlos manuell ausführen. Auch der Dependency Walker hilft nicht weiter: Alle Abhängigkeiten sind erfüllt.

Woran könnte der Fehler nun noch liegen? Die Applikation wird nicht gestartet, manuell kann ich sie aber starten. Was ist das Problem?

Mir ist noch eine Sache die während der Installation passiert und das Verhalten der Applikation beeinflussen könnte eingefallen: Die Applikation benötigt eine Reihe von DLLs. Diese werden wie die Applikation selbst während der Installation an einen bestimmten Ort kopiert, jedoch nicht neben die EXE. Zusätzlich wird der Pfad zu den DLLs in die Umgebungsvariable PATH angehängt. Zum Zeitpunkt wenn der Fehler auftritt ist der Pfad korrekt in PATH eingetragen, die EXE und die DLLs liegen an dem richtigen Ort und ich kann die EXE starten...

Achja, mir ist noch etwas aufgefallen: Wenn auf dem System bereits .Net Framework 2.0 (was nicht benötigt wird) und Windows Installer 3.0 installiert ist tritt der Fehler nicht auf...

Ich bin für jede Hilfe und jeden Hinweis dankbar!

Gruß,
Torsten

Edited by Hensz, 08 May 2008 - 10:58.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 May 2008 - 21:03

Windows Installer übernimmt PATH-Änderungen nicht in der laufenden Installation. Deine EXE muss die DLLs ohne PATH finden können.

Hensz

Hensz
  • Full Members
  • 23 posts

Posted 09 May 2008 - 08:05

Das ist gut zu wissen (und ziemlich unpraktisch sad.gif ). Allerdings ist dies bei mir nicht die Fehlerursache. Um das Problem mit dem Pfad zu umgehen habe ich nämlich alle DLLs neben die Exe gelegt. Auch dann ist immer noch das gleiche Problem aufgetreten.

Im Moment bin ich gerade dabei den direkten Aufruf der EXE durch eine Custom Action zu ersetzen. Ich werde zunächst eine MSI DLL erstellen die mit ShellExecute die EXE aufruft. Dann bekomme ich zumindest mal den Error-Code wenn es immer noch nicht funktioniert. Meine letzte Rettung ist dann noch, dass ich den Code aus der EXE in die DLL übernehme.

Gruß,
Torsten

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 09 May 2008 - 08:14

Bedenke, dass das aktuelle Arbeitsverzeichnis möglicherweise nicht das Verzeichnis der EXE ist (je nach Custom Action Typ).