VC 2005 Programme laufen nicht auf windows 2003 server


  • Mod

    Tester2 schrieb:

    Danke, aber leider muss mein Programm auf allen Systemen laufen unter 32Bit, 64Bit, auf XP, Windows2003, Windows2000 und evt. noch NT.
    Und dem Chef erst mal klar machen, dass man verschiedene Varianten liefert?

    NT und MS2005 sehe ich ein Problem. Aber das lässt sich mnit einem eigenen CRT Build und MFC build evtl. noch umgehen.

    Ansonsten löst statisches Linken jegliche Abhängigkeit von weiteren DLLs des VS!
    Also sollte es Dein Problem lösen.

    Sofern es nur ein Programm ist kann man mit statischem Linken gut leben.
    Wenn Du allerdings meherere DLLs und die Extension-DLL Features der MFC benötigst brauchst Du Manifeste und eine speziele Installation der Runtimes!



  • Auch wenn ich jetzt vielleicht gleich von euch geschlagen werde, aber...
    reden wir bei statischem Linken von der Visual Studio 2003-Einstellung
    "MFC in einer statischen Bibliothek verwenden"?

    Meine Manifestdatei sieht übrigens wie folgt aus:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    version="1.0.0.1110" 
    processorArchitecture="X86" 
    name="Mytest" 
    type="win32" 
    /> 
    
    <description/> 
    
    <dependency> 
    <dependentAssembly> 
    <assemblyIdentity 
    type="win32" 
    name="Microsoft.Windows.Common-Controls" 
    version="6.0.0.0" 
    processorArchitecture="X86" 
    publicKeyToken="6595b64144ccf1df" 
    language="*" 
    /> 
    
    </dependentAssembly> 
    </dependency> 
    </assembly>
    

    CRT finde ich im VS nur unter "CRT-Verwendung in ATL minimieren". 😕



  • Sofern es nur ein Programm ist kann man mit statischem Linken gut leben.

    Ich rede hier von ca. 200 DLLs, die alle MFC benötigen (ist nicht auf meinem Mist gewachsen).



  • Ich hol das Thema mal aus der Versenkung, weil ich jetzt auch "betroffen" bin.
    Bis vor kurzem liefen die Programme bei uns im Büro noch richtig und dann *zack*
    Programme starten auf 3k nicht mehr oder führen die Befehle zum Öffnen von
    Dateien nicht mehr aus.

    Mal sehen obs mit SP2 weg ist.



  • Hat für das Thema eigentlich mal jemand eine schlüssige Lösung gefunden?
    Bei uns in der Firma sind noch alle am rätseln warum die Programme nun nicht auf
    W2003 laufen. Statisch gelinkt haben wir und die weiter oben stehende Manifest-
    Datei verwenden wir ebenso... Das Programm gibt keine Meldung aus, es ist nur
    kurz der Curosr zu sehen, aber dann passiert nix mehr. Nichtmal ein Eintrag im
    Windows-Ereignisprotokoll...


  • Mod

    Ich kenne kein solches Problem.

    Wenn Du statisch linkst UND ein Manifest hast, ist sowieso was oberfaul...

    Wie sieht Dein Manifest aus, wenn Du nicht statisch linkst!



  • Hi,

    bei mir wird kein Manifest durch den Compiler erzeugt. Ich füge es
    manuell hinzu. Es ist das Manfifest welches hier im Thema gepostet wurde
    und stammt von www.Winapi.net.

    Wie kann man denn eine Manifestdatei in Visual Studio 2003 automatisch
    generieren lassen? In den Einstellungen habe ihc nichts gefunden. Auch nicht
    bei Ressource hinzufügen. 😕

    Warum sollte man nicht statisch linken und ein Manifest verwenden?
    Das Manifest habe ich nur mit eingebunden, um den XP-Style auf XP
    zu verwenden.


  • Mod

    Hier geht es um VS2005 (siehe überschrift!) und die entsprechenden Manifeste der MFC und CRT. Und darauf bezog sich meine Antwort.
    Niemand redet von den Common Control 6.0 Manifesten!



  • Hat für das Thema eigentlich mal jemand eine schlüssige Lösung gefunden?

    Leider nein, aber bei mir liegt es weder am statischen Linken, noch an Manifests. Ich linke weiterhin dynamisch, Manifestdateien enthalten Standardeinstellungen.
    Sobald ich mit meiner Anwendung (32Bit) nicht mehr auf die Registry zugreife funktioniert alles auch unter Windows 2003 Server (Enterprice, 64Bit).
    Suche auch seit Tagen im WEB, in der MSDN nach Hinweisen.

    Vielleicht ist das also gar kein generelles Problem?


  • Mod

    Mit dieser Info ändern sich aber alle Voraussetzungen, des bisher geschriebenen!

    Na dann solltest Du Dich mal um die Registry Virtualisierung zwischen 64bit und 32bit kümmern.

    Ausgehend von diesem Blog
    http://blog.kalmbachnet.de/

    Solltest Du Dich um
    den Registry Redirector http://www.codeproject.com/useritems/Reflection.asp
    und Registry Virtualization http://msdn2.microsoft.com/en-us/library/aa965884.aspx
    klug machen!

    Oder vielleicht mal diesen Link ansehen:
    http://blog.kalmbachnet.de/?postid=41



  • Danke Martin, zumindest mir hilft das erst mal weiter.


Anmelden zum Antworten