Side by Side configuration information for Programm.exe contains errors



  • Hallo

    ich habe leider ein grosses Problem. Ich habe kürzlich Visual Studio 2005 installiert.(Version 8.0.50727.762) Das Projekt wurde unter der Version 8.0.50727.42(bzw. darunter funktionierte alles super) entwickelt. Die Setup-Exe wird mit ISS (Inno Setup Compiler 5.2.3) zusammengebaut. Auf meinem Rechner lässt es sich wunderbar installieren und es funktioniert perfekt. Bei sämtlichen anderen Rechner gibt es eine Fehlermeldung: "DieseAnwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren. (14001)"

    Mit Hilfe von Dependency Walker fiel mir auf, dass bei meinem Rechner die MSVCR80.DLL per Side by Side components aufgeführt ist und bei dem es nicht funktioniert nicht.(Da wird die Dll unter dem installationsverzeichnis geladen.)

    die Manifest dateien habe ich überprüft und sie scheint alles in Ordnung zusein. (Sie war identisch mit der hier im Forum aufgelistete dateien.)

    und wenn ich das Projekt mit dem anderen Rechner baue mit dem selben voraussetzungen(manifest/dlls usw.) lässt sich es überall installieren und starten.

    Weisst jemend die Lösung ?

    Gruss
    Postbote



  • Welche DLLs/EXE/manifest Dateien hast Du denn?
    Was steht da genau drin?
    Was sagt das Ereignis-Protokoll?

    Siehe auch:
    http://blog.kalmbach-software.de/2008/05/03/howto-deploy-vc2008-apps-without-installing-vcredist_x86exe/


  • Mod



  • Vielen Dank für die Links 😃

    Leider löst das nicht mein Problem.

    anwendungs.exe.manifest

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
    </assembly>
    

    und warum er MS.VC80.DEbugCRT 2x mit verschiedene Versionen immer wieder reinschreibt, ist mir auch ein Rätsel 😞

    Ereignisprotokoll: Eventkennung: 59 Side by Side....
    "Generate Acrivation Context ist für blabla.exe fehlgeschlagen. Referenzfehlermeldung: Der Vorgang wurde erfolgreich beendet. "

    ich hoffe ihr könnt was daraus machen 😉

    Gruss
    Postbote


  • Mod

    Du hast vermutlich eine LIB, die mit det RTM Version kompiliert wurde und nicht mit SP1.
    Zudem hast Du mit Sicherheit Libraries in Debug und Release Version gemischt. Das sollte auch nicht sein!



  • das kann sehr gut sein, bzw. da kann ich nicht mit der Hand dafür ins Feuer legen, ob es sauber getrennt wurde. Gibt es ein Expertentrick, wie man die libs zwischen release und debug auseinanderhalten kann? Oder wie kann ich die "böse" lib lokalisieren?



  • In den Linker Settings die Ausgabe auf "/Verbose" setzen...

    Ansonsten als Trick:

    Debug-LIBs immer ein "d" an den Namen anhängen...



  • hmmm irgendwie war ich damit überfordert 😉

    habe die radikal Lösung genommen und Visual Studio neu installiert ohne SP1 und die Projektdateien vom anderen Rechner genommen. Zwar nicht ganz sauber, aber es funktioniert fürs erste 😉

    Trotzdem vielen Dank für eure Hilfe (bin wenigstens einwenig schlauer geworden) 😃


Anmelden zum Antworten