Anwendungskonfiguration
-
Hallo zusammen, ich hätte da mal ein kleines Problem.
Ich habe ein kleines Programm mit Visual C++ 2005 Express auf meinem Laptop (XP mit SP2) geschrieben.
Das Programm läuft auf dem Laptop, auf meinem Rechner (auch XP mit SP2), auf einem anderen Rechern mit XP, bei meiner Frau unter Vista Ultimate und auf einem Rechner mit Vista Home irgendwas ohne Probleme.Danach habe ich das Programm bei mir auf dem Rechner ebenfalls mit VC++ 2005 noch ein wenig abgeändert und neu kompiliert. Seit dem läuft die neue Version nur noch bei mir auch dem Rechner. Bei allen anderen Rechnern kommt nur eine Fehlermeldung von wegen "Fehler in der Anwendungskonfiguration" und bei Vista Fehler in der "Side-by-Side-Konfiguration". Es macht auch keinen Unterschied, ob ich debug oder release kompiliere.
Am .NET Framework kann es nicht liegen, das das ursprüngliche Programm ja läuft, habe es aber nochmals kontrolliert und bei dem Rechner mit Vista Home auch mal die Version 3.5beta installiert. Immer noch der gleiche Fehler.
Danach habe ich mir Visual C++ 2008 Express Beta2 runtergeladen und auf meinem Desktoprechner installiert und das Programm damit nochmals kompiliert. Auch hier das gleiche Problem, es läuft nur bei mir auf dem Desktoprechner.
Ich habe die Einstellungen von VC++ auf dem Laptop und dem Desktoprecher verglichen, finde aber absolut keinen Unterschied. Beide Programme sollten somit gleich kompiliert werden.
Ich habe mittlerweile etliche Stunden im Internet verbracht, aber leider noch keine Lösung für das Problem gefunden.
Auch die hier
http://www.zfx.info/DisplayThread.php?TID=22542 und hier
http://www.zfx.info/DisplayThread.php?MID=218009#218009
beschriebenen Vorschläge brachten keine Abhilfe.Ich hoffe irgendjemand hier hat eine Idee, wie ich die Programme zum Laufen bekomme (außer, ich soll hat am Laptop arbeiten )
Im Voraus schonmal vielen Dank!!!
-
1. Du darfst *nur* die Release weitergeben und es mit dieser auf einem anderen Rechner probieren
2. VS2008EE-Beta2 ist eine *Beta* und wird somit nicht unterstützt
3. Du musst auf dem Zielrechner folgendes installieren:Microsoft .NET Framework Version 2.0 Redistributable Package (x86)
https://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=enMicrosoft Visual C++ 2005 SP1 Redistributable Package (x86)
http://www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=de4. Du darfst im Projekt das Erzeugen des Manifests nicht deaktiviert haben (ist per default aktiviert)
5. Wenn Du das einbetten des Manifests deaktivuert hast, dann musst Du die name.der.exe.manifest-Datei auch mit auf den Zielrechner kopieren (ist per default nicht notwenidg/vorhanden)
-
1. Ich habe jeweils nur die .exe Datei aus dem Releaseordner benutzt, testweise allerdings auch mal die aus dem debug Ordner, beide laufen nicht.
2. Ist mir schon klar, aber sie liefen ja auch nicht, als ich sie auf dem Desktoprechner mit der 2005er Version kompiliert habe.
3. .net Framework ist klar, ist auch überall vorhanden. Sonst würde die ursprünglich auf dem Laptop erstellte Version ja auch nicht funktionieren.
Das mit dem SP1 Redistributable Package verstehe ich nicht ganz. Die ursprüngliche Version funktioniert ja auch ohne dieses Paket. Und wenn ich außer dem .net Framework noch was installieren muss, macht das ganze ja auch wenig Sinn, oder nicht?
4. Wo genau finde ich diese Einstellung, müsste ich mal überprüfen. Aber wie gesagt, ich habe keine Unterschiede bei den Einstellungen zwischen Laptop und Desktoprechner gefunden.
-
Das Bo schrieb:
Das mit dem SP1 Redistributable Package verstehe ich nicht ganz. Die ursprüngliche Version funktioniert ja auch ohne dieses Paket.
Wie hast Du das getestet? Auf Deinem anderen Rechner ist doch VS installiert, oder? Und da ist es dann schon automatisch installiert...
Das Bo schrieb:
Und wenn ich außer dem .net Framework noch was installieren muss, macht das ganze ja auch wenig Sinn, oder nicht?
Es macht auch wenig Sinn, wenn Dein Programm gar nicht läuft, oder?
Wenn Du nur mit dem .NET-Framework auskommen willst, dann verwende C#.
Das Bo schrieb:
4. Wo genau finde ich diese Einstellung, müsste ich mal überprüfen. Aber wie gesagt, ich habe keine Unterschiede bei den Einstellungen zwischen Laptop und Desktoprechner gefunden.
In den Projekteinstellungen unter
"Linker|Manifest File|Generare Manifest: Yes"
"Manifest Tool|Input and Output|Embed Manifest: Yes"
-
Na ja, auf dem Rechner mit XP ohne VS, auf dem Rechner mit Vista Home ohne VS und auf dem Rechner mit Vista Ultimate ohne VS.
Zudem heute auf der Arbeit noch unter W2K und nochmals unter XP. Die auf dem Laptop erstellte ursprüngliche Version läuft, die auf dem Desktoprechner kompilierte nicht.
Ich das Redistributable mal runtergeladen und hier unter W2k und XP installiert. Aber genau das gleiche Problem, Version Laptop klappt, Version Desktop nicht.Dann auf noch einem anderen XP Recher:
- keins läuft.
- .net Framework installiert -> Version Laptop läuft, Version Desktop nicht.
- Reditributable Package installiert -> Version Laptop läuft, Version Desktop nicht.Es kann ja dann eigentlich nicht am .net Framework oder dem Reditributable Package liegen.
So langsam kann ich das alles nicht mehr verstehen...
-
So, jetzt ist die Verwirrung komplett...
Ich habe hier auf der Arbeit auch VC++ 2005 mit SP1 unter W2K installiert.
Da habe ich mal schnell ein Testprogramm geschrieben.
Das läuft bei mir mit installierten VC++ unter W2K, unter XP nur mit Redistributable Package und unter einem anderen W2K Rechner gar nicht, auch nicht mit Redistributable Package.
Die Einstellungen für das Manifest stehen beide auf JA (Defaulteinstellungen).
-
Ich habe das Programm nochmal komplett auf dem Desktoprechner mit VC++ 2005 SP1 release kompiliert. An den Einstellungen habe ich nichts mehr verändert.
Mit installierten Resditributable Pack läuft es nun endlich unter XP und Vista.
W2K werd ich morgen früh direkt mal testen.VIELEN DANK!!!
Das Problem, dass das unter W2K erstellte Testprogramm auf anderen W2K mit Redistributable Pack nicht läuft bekommen wir wohl hoffentlich auch noch in den Griff.
Falls einer Vorschläge hat, immer her damit. Falls ich selber drauf komme, sag ich euch bescheid :), versprochen.Also nochmals Dankeschön an dieser Stelle!!!
Edit: *mit dem Hammer vor den Kopf hau*, auf dem Laptop war SP1 für die 2005er Version noch nicht installiert , Tschuldigung