py2exe fehlermeldung: anwendungskonfiguration

Probleme bei der Installation?
Antworten
wucherikovtski
User
Beiträge: 8
Registriert: Dienstag 25. November 2008, 17:55

Hallo Zusammen,

ich habe folgendes Problem, zu dem ich hier schon einen Thread gefunden habe, aber leider keine passende Antwort. Leider weiss ich auch den englichen Text für die Fehlermeldung nicht, so dass ich mich auch nicht im englischsprachigen Netzt dem Problem umsehen kann.

Nachdem mein mit py2exe umgewandeltes Python-Script auf vielen Windows Rechnern läuft, gibt es weiterhin Windows Rechner, die sich wehemend dagegen wehren, mit der Fehlermeldung, dass ich die Anwendung neu installieren soll, da die Anwendungskonfiguration nicht korrekt wäre.
Nachdem ich dann auf diesen Rechnern Python installiert habe, konnte ich meine exe-Datei dann doch starten.

Vielleicht hat jemand ne Ahnung, woran das liegen kann, oder zumindest, wie die Fehlermeldung auf Englisch heissen könnte.
Vielen Dank im Voraus,
Wucherikovtski
Zuletzt geändert von wucherikovtski am Sonntag 21. Dezember 2008, 10:52, insgesamt 1-mal geändert.
fhoech
User
Beiträge: 143
Registriert: Montag 9. April 2007, 18:26

"Diese Anwendung konnte nicht gestartet werden, weil die
Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren." -> ist das die Fehlermeldung?
("This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.")

Und du benutzt zufällig Python >= 2.6?

Dann entweder Visual C++ 2008 Redistributable auf dem Zielrechner installieren, oder den Ordner %ProgramFiles%\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT von der Visual C++ Express Edition mitliefern (dieser muss im selben Ordner wie die mit pyexe erstellte Anwendung liegen - siehe auch meinen Beitrag im Thread exe erstellen, da habe ich den Vorgang - allerdings nicht für py2exe sondern für pyinstaller - beschrieben).
wucherikovtski
User
Beiträge: 8
Registriert: Dienstag 25. November 2008, 17:55

Hey, Dr. Python alias fhoech :-)

Ja richtig: python 2.6 und auch die Fehlermeldung stimmt.

Es funktioniert nun Alles einwandfrei.
Orden!!!

Wahrscheinlich könntest Du mir jetzt - wenn ich nachfragen würde - auch genau erklären, warum das so ist, aber ich bin mir nicht sicher, ob ich das überhaupt wissen will ;-) (Hört sich alles höchst kompliziert an)
Gehe ich denn richtig in der Annahme, dass es auch mit einer anderen Python ( > oder < Python 2.6) Version gehen würde?

Vielen Dank für Deine Hilfe, Du hast mir viel Kummer erspart.
schönen Gruß,
Wucherikovtski
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

wucherikovtski hat geschrieben:Wahrscheinlich könntest Du mir jetzt - wenn ich nachfragen würde - auch genau erklären, warum das so ist, aber ich bin mir nicht sicher, ob ich das überhaupt wissen will ;-) (Hört sich alles höchst kompliziert an)
Ist es aber nicht. Python 2.6 wurde mit Visual Studio 2008 kompiliert, wodurch das Binary eine Anhängigkeit zur Runtime VC90 hat. Das war bei älteren Python-Versioen nicht so, die hatten da eben ein Dependency auf eine ältere Version. Die älteren Versionen waren eben öfters schon mal auf dem Ziel-PC installiert (weil irgendeine andere Software das schon gemacht hat), daher gab es da keine solchen Probleme.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Es wäre allerdings nicht schlecht, wenn die Entwickler von py2exe das in irgendeiner Form ihren Anwendern mitteilen würden, denn ich stehe vor dem gleichen Problem. Und einen Pfad \redist\x86\Microsoft.VC90.CRT gibt es in meiner VC9 Installation auch nicht. Die Suche kann beginnen ;)

Interessanterweise laufen die EXEs ohne Probleme, wenn Python 2.6 auf dem betreffenden Rechner installiert ist. Selbst, wenn man den Pythonordner anschließend wieder löscht und auch die python26.dll aus dem windows/system32 Ordner rausnimmt. Wird Python dagegen deinstalliert, kommt unter XP wieder die beschriebene Fehlermeldung "...fehlerhafte Anwendungskonfiguration..."

Also wenn Anwendungen, die mit py2exe26 erstellt wurden, nur laufen, wenn Python 2.6 installiert ist, dann macht das wenig Sinn, oder !?

Grüße, Seven

Update:
Das Kopieren der nötigen Dlls + Manifest in den Folder der Applikation funktioniert leider nicht. Das Nachinstallieren der Visual C++ 2008 Redistributable ist aber schnell und unkompliziert, sodass das immerhin eine Notlösung darstellt. Nur blöd, dass man jetzt seiner Anwendung die Empfehlung mitgeben muss, das noch was zusätzlich installiert werden muss :cry: Kommt irgendwie immer schlecht.

Die Denkaufgabe für meine vergangenen 2 Stunden:
Wenn ich mir das Logfile der Python26-Installation ansehe, dann werden da keine Laufzeitkomponenten für die C++ Library installiert !?
Was macht Python dann, dass die mit py2exe erstellte Anwendung nur fehlerfrei läuft, wenn Python26 installiert ist? :roll:
pytobi
User
Beiträge: 3
Registriert: Freitag 17. April 2009, 10:46

Hallo,
ich hatte genau das gleiche Problem. Das kopieren des Ordners Microsoft.VC90.CRT aus meiner Visual C++ Installation in den Ordner der EXE brachte nichts.
Ich hab mir dann mal die Manifest- Datei angesehen und mit einer anderen verglichen die ich aus meiner SciLab 5.1 Installation habe. Im Manifest von Visual C++ steht viel mehr Müll drin, aber die relevanten Infos sind gleich.
Ich hab dann einfach das Manifest im Ordner der EXE ausgetauscht und schon funktioniert sie auf jedem Rechner.

Hier der Code der funktionierenden Microsoft.VC90.CRT.manifest:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- Copyright (c) Microsoft Corporation.  All rights reserved. -->

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

    <noInheritable/>

    <assemblyIdentity

        type="win32"

        name="Microsoft.VC90.CRT"

        version="9.0.21022.8"

        processorArchitecture="x86"

        publicKeyToken="1fc8b3b9a1e18e3b"

    />

    <file name="msvcr90.dll" /> <file name="msvcp90.dll" /> <file name="msvcm90.dll" />

</assembly>
Ich hoffe ihr könnt damit was anfangen.

Tobi

Zur Info noch meine Konfiguration:
Python 2.6.2
py2exe 0.6.9
Microsoft Visual C++ 2008 Express
Antworten