Vista Programme laufen nicht unter XP



  • Hi alle zusammen,

    hoffe das ist hier richtig plaziert.

    Die Frage klingt vieleicht ein bisschen blöd aber ich hab erst angefangen mit dem Progammieren und daher recht wenig Ahnung.

    Mein Problem ist, dass meine Programme nur unter Vista laufen. Ich benutze selbst Vista und bei mir läuft alles einwand frei. Bei meinem Kumpel für den das Programm gedacht war (XP Nutzer) hingegen nicht. Also hab ich es noch auf 2 andern Rechnern versucht, einmal XP und einmal Vista. Auf dem andern Vista Rechner gings auf dem XP wiederum nicht.

    Jetzt gibt es in meinem Projekt eine Datei "targetver.h" in der Vista als Minimalanforderung angegeben ist. Ich hab mal vermutet, dass da das Problem liegt. Bei MSDN kann man auch schön nach lesen welches Makro für was ist. Aber das hat mir nicht weiter geholfen da sich nix getan hat durch die Änderungen in dieser Datei.

    #pragma once
    
    // Die folgenden Makros definieren die mindestens erforderliche Plattform. Die mindestens erforderliche Plattform
    // ist die früheste Windows-, Internet Explorer-Version usw., die über die erforderlichen Features zur Ausführung 
    // Ihrer Anwendung verfügt. Die Makros aktivieren alle Funktionen, die auf den Plattformversionen bis 
    // einschließlich der angegebenen Version verfügbar sind.
    
    // Ändern Sie folgende Definitionen für Plattformen, die älter als die unten angegebenen sind.
    // Unter MSDN finden Sie die neuesten Informationen über die entsprechenden Werte für die unterschiedlichen Plattformen.
    #ifndef _WIN32_WINNT            // Gibt an, dass Windows Vista die mindestens erforderliche Plattform ist.
    #define _WIN32_WINNT 0x0500     // Ändern Sie den entsprechenden Wert, um auf andere Versionen von Windows abzuzielen.
    #endif
    

    So wurde die Datei erstellt von Visual C++ 2008. Den Wert bei WIN32_WINNT 0x0500 hab ich geändert. Er stand ursprünglich auf 0x0600. Wenn ich das richtig verstanden habe müsste das laut MSDN bewirken, dass XP die Mindestanforderung ist.
    Kann mir da jemand helfen?

    Ich bitte um Entschuldigung falls mein Problem unklar geschildert ist oder sonst grobe Fehler gemacht wurden aber ich bin wie gesagt Anfänger und bin mir nicht sicher was für Infos ich geben muss damit Ihr vielen schlauen Leute hier was damit anfagen könnt.

    Gruß Tobi


  • Mod

    Und was geht bei Deinem Freund nicht?
    Kann es sein, dass einfach die Runtime nicht installiert ist?
    Linke statisch!



  • In meinen Projekten steht für Projekte ab XP:

    #ifndef WINVER				// Lassen Sie die Verwendung spezifischer Features von Windows XP oder später zu.
    #define WINVER 0x0501		// Ändern Sie dies in den geeigneten Wert für andere Versionen von Windows.
    #endif
    
    #ifndef _WIN32_WINNT		// Lassen Sie die Verwendung spezifischer Features von Windows XP oder später zu.                   
    #define _WIN32_WINNT 0x0501	// Ändern Sie dies in den geeigneten Wert für andere Versionen von Windows.
    #endif
    

    und für Prokete ab Vista:

    #ifndef WINVER                          // Gibt an, dass Windows Vista die mindestens erforderliche Plattform ist.
    #define WINVER 0x0600           // Ändern Sie den entsprechenden Wert, um auf andere Versionen von Windows abzuzielen.
    #endif
    
    #ifndef _WIN32_WINNT            // Gibt an, dass Windows Vista die mindestens erforderliche Plattform ist.
    #define _WIN32_WINNT 0x0600     // Ändern Sie den entsprechenden Wert, um auf andere Versionen von Windows abzuzielen.
    #endif
    

    Daran kann es also nicht liegen. Doch wie Martin schon fragt: Was ist die Fehlermeldung?



  • Da du mit Visual 2008 entwickelst liegt es höchstwahrscheinlich an der C-Runtime.
    Deine Exe benötigt die msvcrt90.dll, da stecken "Grundfunktionen" drinnen, die dein Programm aufruft.
    Auf alten Betriebssystemem wie 2000 oder XP ist diese nicht vorhanden. Dafür gibt es Installer von MS, die diese installieren:
    http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf


  • Mod



  • Ok vielen erstmal dank für die Schnelle Hilfe.

    Die Fehlermeldung unter XP lautet"Diese Anwendung konnte nicht gestartet werden,
    da die Anwendungskonfiguration nicht korrekt ist..."

    Das mit dem statisch linken hab ich auf der Suche bei Google auch schonmal
    gelesen wusste abe nicht was es bedeutet. Da war das Video sehr hilfreich 😉

    Also danke an alle für eure Hilfe

    Gruß Tobi



  • Die Fehlermeldung unter XP lautet"Diese Anwendung konnte nicht gestartet werden, da die Anwendungskonfiguration nicht korrekt ist..."

    Dazu findest Du hier im Forum schon zig Einträge.
    Die passende vcredist_x86.exe (vcredist_x64.exe) zu Registrierung der Microsoft-DLLs auf den Zielrechner wird auch mit deiner Entwicklungsumgebung mitgeliefert.


Anmelden zum Antworten