VC++ 2008: x64 Anwendungen starten nicht



  • Ich programmiere mit Visual Studio 2008 Professional und möchte auch x64-Anwendungen schreiben. Aber aus irgendeinem Grund lassen sich kompilierte Anwendungen nicht ausführen.

    Diese Anwendung konnte aufgrund einer falschen Anwendungskonfiguration nicht gestartet werden. Überprüfen Sie die Manifestdatei auf mögliche Fehler. Durch erneutes installieren der Anwendung kann der Fehler möglicherweise behoben werden. Weitere Informationen finden Sie im Anwenderereignisprotokoll.

    Leider weiß ich nicht, wonach ich in der Manifestdatei suchen muss. 😕

    Hier eine Kopie des Inhalts:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
          </requestedPrivileges>
        </security>
      </trustInfo>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
    </assembly>
    

    Wenn ich die Anwendung ohne VC++ starten möchte, kommt eine Meldung über eine ungültige Side-by-Side-Konfiguration mit dem Hinweis, sxstrace zum Auffinden von Fehlern zu verwenden.

    Gesagt getan, es kam zu folgendem Ergebnis:

    =================
    Startet die Generierung des Aktivierungskontextes.
    Eingabeparameter:
    	Flags = 0
    	ProcessorArchitecture = AMD64
    	CultureFallBacks = de-DE;de
    	ManifestPath = D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\Implementierungstest.exe
    	AssemblyDirectory = D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\
    	Application Config File = 
    -----------------
    INFORMATION: Manifestdatei "D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\Implementierungstest.exe" wird analysiert.
    	INFORMATION: Die Manifestsdefinitionsidentität ist "(null)".
    	INFORMATION: Verweis: Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
    INFORMATION: Verweis "Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"" wird aufgelöst.
    	INFORMATION: Für ProcessorArchitecture "amd64" wird der Verweis aufgelöst.
    		INFORMATION: Verweis für Kultur "Neutral" wird aufgelöst.
    			INFORMATION: Bindungsrichtlinie wird angewendet.
    				INFORMATION: Es wurde keine Herausgeberrichtlinie gefunden.
    				INFORMATION: Es wurde keine Bindungsrichtlinienumleitung gefunden.
    			INFORMATION: Startet die Assemblierungssuche.
    				INFORMATION: Die Assemblierung in WinSxS wurde nicht gefunden.
    				INFORMATION: Versuch, ein Manifest unter "C:\Windows\assembly\GAC_64\Microsoft.VC90.DebugCRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.DebugCRT.DLL" zu finden.
    				INFORMATION: Versuch, ein Manifest unter "D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\Microsoft.VC90.DebugCRT.DLL" zu finden.
    				INFORMATION: Versuch, ein Manifest unter "D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\Microsoft.VC90.DebugCRT.MANIFEST" zu finden.
    				INFORMATION: Versuch, ein Manifest unter "D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL" zu finden.
    				INFORMATION: Versuch, ein Manifest unter "D:\Eigene Dateien\Dokumente\Visual Studio 2008\Projects\Implementierungstest\x64\Debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST" zu finden.
    				INFORMATION: Es wurde kein Manifest für die Kultur "Neutral" gefunden.
    			INFORMATION: Beendet die Assemblierungssuche.
    	FEHLER: Der Verweis "Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"" kann nicht aufgelöst werden.
    FEHLER: Bei der Generierung des Aktivierungskontextes ist ein Fehler aufgetreten.
    Beendet die Generierung des Aktivierungskontextes.
    

    Was genau haben denn die besagten Fehler zu bedeuten und wie kann ich diese beseitigen?

    Ich benutze (noch) Windows Server2008 R2 x64 als Betriebssystem.



  • Hi,

    Du forderst mit Deinem Manifest eine bestimmte Version der Runtime, die Du wahrscheinlich nicht installiert hast (deswegen der Side-by-Side-Fehler).

    Warum hast Du den <dependency> -Block in der Manifestdatei?
    Nehm ihn mal raus und schaue, ob es so funktioniert.

    Gruß,
    Martin



  • Ich habe daran nichts weiter geändert, das ist alles genau so aus dem Compiler gekommen. 😕

    Was müsste man denn in den Projekteigenschaften einstellen, damit besagte Dinge künftig von allein beseitigt werden? So müsste ich ja praktisch jedes mal nach jedem Kompiliervorgang manuell alles abändern.


  • Mod

    Die Debug CRT Deiner Runtime ist nicht installiert.
    Mach eine Reparaturinstalltion des VS.


Log in to reply