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.