Manifestdatei erzeugt Fehler?



  • Hiho,

    ich habe mich an diese Anleitung http://winapi.net/index.php?inhalt=t8
    gehalten, um den XP-Style für meine Anwendung zu aktivieren.

    Nun erhalte ich beim Kompiliervorgang die Meldung:

    "...Diese Anwendung konnte nicht gestartet werden, weil die Anwendungs-
    konfiguration nicht korrekt ist....installieren Sie neu"

    Hmm...ich habe mich genau an die Anleitung gehalten. Include gesetzt,
    lib eingebunden im Linker, Manifestressource umbenannt auf "1" und
    den Aufruf von InitCommonControls() habe ich ja eh schon in der InitInstance();

    Also was kann man da noch falsch machen 😕



  • Du hast vermutlich jetzt vergessen das Manifest für die CRT einzubetten!
    Wenn Du VC2005 verwendest, dann ändere bitte nichts an den Projekteinstellungen sondern füge das Manifest so ein:

    #if defined _M_IX86 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #elif defined _M_IA64 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #elif defined _M_X64 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #else 
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    #endif
    

    Siehe auch:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-168400.html



  • Hiho,

    ich verwende Visual Studio 2003. Verstehe ich das jetzt richtig,
    dass ich soweit alles richtig gemacht habe, jedoch nicht die
    Eintragungen im Linker, sowie Include hätte setzen dürfen?

    Anstelle dessen habe ich jetzt die pragma-Anweisungen hinterlegt.
    Das Programm startet zwar wieder, jedoch ohne den XP-Style...



  • Na hast du denn auch InitCommonControls aufrufen?



  • ich machs eigentlich immer so
    ich erstelle {ausserhalb von VS} eine datei die nenn ich "ProgName.manifest" - oeffne die mitn editor und pack da des XML zeuch rein
    in VS dann bei "Resource Files" "Add -> Existing Item" und waehle dort die manifest datei aus

    compilieren und feddich - schon wird die datei mit reingefummelt {VS 2003 und 2005 geht beides}

    hab xp sowie vista style, und das geht mit WinAPI sowie MFC programmen {=

    fals ich mal ein fehler hab und es funktioniert nicht, erstelle ich wie oft beschrieben dieses MANIFEST dingens in der rc - und loesch das dann wieder - dann gehts meistens #gg

    {hab in meinen derzeitigen projekt nur icons und string table in der resource sonst nichts und manifest ist bereits dabei}

    dazuedit

    natuerlich auch des
    InitCommonControls();
    direkt nach dem main


Anmelden zum Antworten