Visual Studio 2008: Application configuration incorrect

Hallo,

ich verzweifel langsam an diesen Thema. Und zwar kommt bei einigen wenigen Rechnerkonstellationen ( die nicht up-to-date sind ) diese Fehlermeldung beim Starten der Anwendung " This application has failed to start because the application configuration is incorrect ".

Ich habe schon in sämtlichen Foren, google-Findungen etc. geschaut, gesucht und teilweise auch gefunden, doch die passende Lösung ist es bislang nicht.

Wenn ich eine Anwendung entwickle und diese ausliefere, so schaue ich immer in die Ausgabe der IDE ( in meinem Falle Visual Studio 2008 Pro ) und kopiere mir entsprechende DLLs und Manifeste aus dem WinSxS-Ordner im Windows-Verzeichnis auf die jeweilige Zielplattform, sofern nicht vorhanden.

"Programm.exe": "C:\WINDOWS\system32\msvcrt.dll" wurde geladen
"Programm.exe": "C:\WINDOWS\system32\ws2_32.dll" wurde geladen
"Programm.exe": "C:\WINDOWS\system32\ws2help.dll" wurde geladen
"Programm.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4e\msvcp90.dll" wurde geladen
"Programm.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4e\msvcr90.dll" wurde geladen

"Programm.exe": "C:\WINDOWS\system32\comdlg32.dll" wurde geladen

Dieses möchte ich natürlich umgehen, da es in meinen Augen mehr als fragwürdig ist, Updates manuell einzuspielen. Leider weiß ich nicht wie.

Am besten wäre es wohl, wenn ich die DLLs mit in das jeweilige Projekt linken könnte, sodass ein Ausliefern immer unnötig wäre, da die passenden DLLs entsprechend schon beigeliefert werden.

Ich hoffe, dass mir geholfen werden kann, damit der Workaround ein Ende hat.


LG KK
 
Hi

Du solltest nicht alle DLLs, die deine Anwendung auf irgendeiner Art und Weise benötigt mit im Projekt referenzieren.

Sondern du musst vorher (bevor du sie verteilst) wissen, wie die Voraussetzungen für deine Software sind und die entsprechenden Pakete mit installieren.

Du musst auch entsprechend vorher schauen, wenn es keine Redistribution-Setup für ein Framework/Runtime gibt, ob diese überhaupt verteilt werden dürfen.

In deinem Fall sieht es danach aus, als ob die VC 9 Runtime im Ziel nicht vorhanden ist (wenn ich das oben richtig verstanden hab). Die kanst du unter folgendem Link runterladen und auch verteilen http://www.microsoft.com/downloads/...75-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en
 
Hallo Nico und vielen Dank für deine Antwort.

Genau im Mitliefern liegt das Problem. Zuhauf haben unsere Klienten keinerlei Möglichkeit den Rechner ans Internet zu koppeln. Wir hatten so genau einen Anwendungsfall, in dem reichte das vc_redist nicht aus und das komplette .NET Framework 3.5 musste installiert werden ( auch nach der Installation des vc_redist kam der o.g. Fehler ). Das sind mal eben zwischen 200 und 300 MB, die das Framework benötigt, welche auch nicht " mal eben " einer Installation beigelegt werden können.

Lässt sich das vc_redist denn auch ohne .NET Framework installieren? So wäre es doch ein Anfang, wenn alle benötigten DLLs aus dem Framework + vc_redist.exe ausgeliefert werden. Die DLLs aus dem .NET Framework liegen dann entsprechend den jeweiligen Anwendungen bei ( evtl. hart reinkompiliert ).

Aber mal von einer anderen Sicht her gesehen, du hast geschrieben
und die entsprechenden Pakete mit installieren

Ich nutze Visual Studio quasi bloß als Compiler und IDE. Ich nutze keine MFC-Komponenten, .NET oder irgendeinen Visual C#-Kram oder dergleichen. Meine Anwendungen bestehen zu 99,999999% aus Qt, der Rest ist C. Entsprechend würde ich theoretisch den ganzen .NET-Kram gar nicht benötigen. Gibt es da eventuell einen Schalter, den es einfach auszuknipsen gilt?


LG KK
 
Zurück