none
msvcr80.dll - ploetzlich (angeblich) falsche Version nach mehreren geplanten Neustarts RRS feed

  • Frage

  • Hallo ich stolpere gerade bei einem Windows Server 2012 Standard über ein Problem wo ich mir keinen Reim darauf machen kann. Nach mehreren geplanten Neustarts am Abend (jeweils nur einer am Abend) kommt ein 3rd Party Programm nicht mehr auf die Beine. Es wird die msvcr80.dll angemeckert die wohl nicht in der richtigen Version vorhanden ist.

    Im Ereignislog finde ich keine Besonderen Einträge außer dem Fehler als solches.

    Momentane Lösung ist das Reparieren der Microsoft Visual C++ 2013 Redistributable (x86 + x64) - 12.0.30501 und der Neustart des Systems.

    Danach lassen sich die Dienste der 3rd Party Software wieder starten.

    #########################################################################

    Hier ist die Fehlermeldung...

    Name der fehlerhaften Anwendung: rmApplicationServer.exe, Version: 0.0.0.0, Zeitstempel: 0x58738193
    Name des fehlerhaften Moduls: MSVCR80.dll, Version: 8.0.50727.6910, Zeitstempel: 0x4fee68f0
    Ausnahmecode: 0xc00001a5
    Fehleroffset: 0x00028b3b
    ID des fehlerhaften Prozesses: 0xa10
    Startzeit der fehlerhaften Anwendung: 0x01d3123ef8d2ba20
    Pfad der fehlerhaften Anwendung: C:\rechnungsManager\Apps\rmApplicationServer.exe
    Pfad des fehlerhaften Moduls: C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6910_none_d089c358442de345\MSVCR80.dll
    Berichtskennung: 36b60570-7e32-11e7-9479-000c29af02f7
    Vollständiger Name des fehlerhaften Pakets: (leer)
    Anwendungs-ID, die relativ zum fehlerhaften Paket ist: (leer)

    #########################################################################

    Kennt jemand eine Ansatz oder vielleicht eine Lösung für das Problem?

    Donnerstag, 28. September 2017 14:35

Antworten

  • Es gibt da auch noch eine Redist 2013 SP1.
    Bei Problemen mit den DLL's musst du dich i.d.R. an den Hersteller wenden.

    Da Plattenspeicher heute nicht mehr so das Problem ist, habe ich mir angewöhnt weitestgehend bei meinen C++-Programmen alle Funktionen statisch zu binden. Dann werden C++-Runtimes so gut wie nie benötigt.
    Beispielhaft ist das z.B. die Sysinternals-Suite, die ja nicht installiert werden muss.

    Bei den Libs, die es in ServicePack-Varianten gibt, ist das Problem, dass diese nicht parallel installiert werden können, aber eigentlich kompatibel sind.

    Wenn du also jedesmal die Redist neu installieren musst, damit es wieder funktioniert, scheint irgendwer diese zu deinstallieren, sonst würde der Redist-Installer eigentlich eine Meldung bringen, dass er schon installiert ist.

    Ggf. hast du eine Anwendung, die du nicht jeden Tag benötigst?
    Manche Anwendungen prüfen intern, ob noch alles passt und rufen ggf. den Korrektur-Installer versteckt auf.
    Bei Office gibt es schon mal kurze Anzeigen, dass der Installer aufgerufen wurde, wobei ich das bei der 2016 noch nicht beobachtet habe.

    Donnerstag, 28. September 2017 15:25
  • Dann gehe mal ins %WINDIR%\WinSxS und suche nach "msvcr80.dll".
    Da wirst du sehen, wie viele versionen es da so gibt.
    Welche nun die Version von 2013 ist lässt sich per rechter Maustaste feststellen.
    Wenn du deine Version gefunden hast, und diese funktioniert setze einfach mal den Schreibschutz.
    Alternativ (ggf. schneller) kannst du das über den Sysinternals-Processexplorer an hand deines Prozesses und der enthaltenen DLL-Liste feststellen, welche msvcr80.dll denn da genau geladen ist.
    Donnerstag, 28. September 2017 16:14

Alle Antworten

  • Das Problem hast du ja bereits gelöst.
    Für jede Version von Microsoft VC++ gibt es entsprechende Redistributables separat zum Download.
    Normalerweise sollte jede Anwendung diese in ihrem Installer als WinSXS (SideBySide) selber mitbringen.
    Da bei der Installation von DLL's ins System32, bzw. SysWOW64 immer eine alte durch eine neuere version ersetzt wird, geht es so lange gut, bis es eine neuere Version gibt, die zur vorherigen Version inkompatibel ist.
    Dies nennt man auch die berühmte DLL-Hölle.

    Die Lösung ist seit Windows Vista die SideBySide-Installation bestimmter DLL's.

    Jede C++-Anwendung verlangt eine bestimmte Version einer DLL, falls die gewünschte Version nicht in SxS, wird die Standardversion gezogen.

    C++-Redistributables gibt es für jede VisualStudio-Version.

    Donnerstag, 28. September 2017 14:46

  • Ok verstehe ich (oder auch nicht genau) aber warum macht die Anwendung erst nach ich sage mal 3 Neustarts Probleme und was ändert sich denn und wie erhalte ich auf dem System einen konsistenten Zustand ohne die Probleme mit der DLL nach dem Neustart oder den 3 Neustarts?

    Das geht ja einige Zeit gut und dann ist wieder der Fehler da.

    -----------------------------------------------------------------

    Habe das hier noch im Nachgang hinzugefügt...

    Ich installiere ja nichts auf dem System außer das ich eine C++ Redis... repariere und dann tritt nach einige Neustarts ein Fehler auf. Updates werden auf dem System nicht aut. installiert da wir ein separates Patchmanagement haben.

    -----------------------------------------------------------------


    • Bearbeitet EPDS Donnerstag, 28. September 2017 15:17
    Donnerstag, 28. September 2017 14:51
  • Es gibt da auch noch eine Redist 2013 SP1.
    Bei Problemen mit den DLL's musst du dich i.d.R. an den Hersteller wenden.

    Da Plattenspeicher heute nicht mehr so das Problem ist, habe ich mir angewöhnt weitestgehend bei meinen C++-Programmen alle Funktionen statisch zu binden. Dann werden C++-Runtimes so gut wie nie benötigt.
    Beispielhaft ist das z.B. die Sysinternals-Suite, die ja nicht installiert werden muss.

    Bei den Libs, die es in ServicePack-Varianten gibt, ist das Problem, dass diese nicht parallel installiert werden können, aber eigentlich kompatibel sind.

    Wenn du also jedesmal die Redist neu installieren musst, damit es wieder funktioniert, scheint irgendwer diese zu deinstallieren, sonst würde der Redist-Installer eigentlich eine Meldung bringen, dass er schon installiert ist.

    Ggf. hast du eine Anwendung, die du nicht jeden Tag benötigst?
    Manche Anwendungen prüfen intern, ob noch alles passt und rufen ggf. den Korrektur-Installer versteckt auf.
    Bei Office gibt es schon mal kurze Anzeigen, dass der Installer aufgerufen wurde, wobei ich das bei der 2016 noch nicht beobachtet habe.

    Donnerstag, 28. September 2017 15:25
  • Puhhh, ok den Hinweisen gehe ich mal nach und melde mich. Danke für die Infos.

    Die Redis repariere ich nur, ich installiere diese nicht neu (nur als Hinweis).

    • Bearbeitet EPDS Donnerstag, 28. September 2017 15:44
    Donnerstag, 28. September 2017 15:41
  • Dann gehe mal ins %WINDIR%\WinSxS und suche nach "msvcr80.dll".
    Da wirst du sehen, wie viele versionen es da so gibt.
    Welche nun die Version von 2013 ist lässt sich per rechter Maustaste feststellen.
    Wenn du deine Version gefunden hast, und diese funktioniert setze einfach mal den Schreibschutz.
    Alternativ (ggf. schneller) kannst du das über den Sysinternals-Processexplorer an hand deines Prozesses und der enthaltenen DLL-Liste feststellen, welche msvcr80.dll denn da genau geladen ist.
    Donnerstag, 28. September 2017 16:14
  • Ok das mit den Sysinternals ist gut, das in dem Ordner %WINDIR%\WinSxS viele verscheiden DLLs sind wusste ich schon ;) . Aber das mit dem Sysinternals-Processexplorer ist gut. Das sehe ich mir dann mal am Wochenende an und schreibe dann ggf. direkt etwas dazu.
    Freitag, 29. September 2017 06:07
  • aber warum macht die Anwendung erst nach ich sage mal 3 Neustarts Probleme

    Ursache muss nicht zwingend eine Systemänderung sein, Ursache kann auch sein, das Dein Programm genau dann (oder zufälligerweise) eine bestimmte Funktion aus der msvcr80.dll aufruft, die dann das Problem verursacht.

    Freitag, 29. September 2017 07:52
  • Hallo,

    ich muss noch einige Dinge testen, melde mich mit weiteren Ergebnissen.

    Kurzum ich konnte noch nicht viel ausprobieren an dem besagten Server mit der Anwendung.

    Mittwoch, 11. Oktober 2017 11:34