2012-04-09 2 views
3

Ich habe eine Win32 C++ - Anwendung, die ich auf einem PC mit Windows 7 in Microsoft Visual Studio C++ Express 2010 kompiliert hat. Die Anwendung wird im Freigabemodus mit dem \ MT kompiliert Laufzeitflag (Multi Threaded).Exe funktioniert nicht auf älteren Versionen von Windows, wenn es sollte

Mein Problem: Wenn ich versuche, meine .exe auf einem Laptop mit Windows Vista auszuführen, stürzt die Anwendung ab und öffnet nie das Hauptfenster. Die .exe, die ich verwende, ist die Ausgabe aus dem Ordner "release" des Visual Studio-Projekts.

Ich habe die Mehrheit der Win32-Funktionen in der Anwendung überprüft und sie alle arbeiten auf Windows 2000 und höher. Ich habe auch das Visual Studio-Projekt auf den Windows Vista-Laptop verschoben und kompiliert, es lief gut und funktionierte.

Warum stürzt die .exe ab? Bedeutet dies, dass die einzige Möglichkeit, meine .exe für verschiedene Versionen von Windows OS zu verwenden, die Verwendung eines Installationsprogramms ist? Die .exe-Datei ist nur 175 KB groß, daher wird das Installationsprogramm wahrscheinlich größer sein als die Ausgabe .exe lol?

+3

Haben Sie die Abhängigkeiten mit http://www.dependencywalker.com/ überprüft? – Andre

+4

Was ist die Fehlermeldung? Fügen Sie dieses Detail immer ein. "Es stürzt ab" ist nie genug. –

Antwort

1

Es klingt, als ob Sie das VS2010 runtime re-distributable Paket benötigen. Beachten Sie, dass der Link für VS2010 SP1 ist. Möglicherweise benötigen Sie VS2010 ohne SP1, wenn Sie nicht mit SP1 kompiliert haben.

+0

Nein, "kompiliert mit/MT". –

+1

Aber "kompilierte mit/MT" und "175kb" ausführbare Größe werfen einige Vermutungen auf. –

+0

@HansPassant, vor kurzem eine VS2010 MFC C++ App mit/MT und statisch verknüpften Bibliotheken kompiliert veröffentlicht, ich finde, ich muss noch die Redist ausführen, um auf etwas anderes als Windows 7 korrekt auszuführen. Ich schätze, die VC-Bibliotheken verlassen sich auf andere neuere OS-Komponentenversionen, die im Redist aktualisiert werden. Reine Vermutung wohlgemerkt;) –

Verwandte Themen