Anzeige

Am Puls von Microsoft

Anzeige

System COMCTL32 im Eimer. Wie kann ich das in Ordnung bringen?

ManniP

bekommt Übersicht
Hallo,
schreibe im Moment von einem etwas lahmen android-Tablet aus. Tippfehler inklusive. Meine comctl32.dll ist verschwunden, weis nicht, wieso. Auch die automatische Wiederherstellung fuer Systendateien kann irgendwie nichts machen. Ich konnte mir das Ding besorgen, doch scheinbar war eine andere Version installiert (die Neue traegt die gleiche Version wie andere Dateien von Windows. Muss also eine Falsche gewesen sein. Eventuell ist sie ja deshalb weg, einbe Systembereinigung kurz vorher hat so einiges gemacht). Beim Booten beschwert sich der Rechner, dass die Datei veraendert sei und weigert sich, weiter zu machen (shutdown). Ohne die Datei (geloescht) startet er auch nich, weil LogonUI sie braucht. Also war die Idee, die DLL zu de-registrieren (regsvr32 /u) und anschliessend neu zu registrieren ( .... /i). Dann, so die Idee, sollte die systemintegrietaetspruefung die neue Datei akzeptieren und der Rechner wieder booten koennen. Leider bekommt rregsvr32 das aber nicht gebacken, ich werde immer gefragt, ob das ueberhaupt eine DLL ist (die entsprechenden Einsprungpunkte fehlen). Wie also bekomme ich diese DLL weieder in"s System?

Tschuess und Danke

Manni
 
Anzeige
Abends.

Wenn ich das hier richtig deute, ist das eine Systemdatei, die Windows seit Windows 7 wohl selbst mitbringt. Daher liegt diese auch unter WinSxS. Und richtig, jedes Windows hat seine eigene Ausgabe.

Die korrekte Version für Windows 7 x86:
C:\Windows\System32\comctl32.dll
Version: 5.82.7601.18837
Produktversion: 6.1.7601.18837
MD5-Hash: 58788565442368b0615ddaf1d452b843

Die korrekte Version für Windows 7 x64:
C:\Windows\System32\comctl32.dll
Version: 5.82.7601.18837
Produktversion: 6.1.7601.18837
MD5-Hash: 51f89ce2d0fec66070354504e6c4c3e4

C:\Windows\SysWOW64\comctl32.dll
Version: 5.82.7601.18837
Produktversion: 6.1.7601.18837
MD5-Hash: 58788565442368b0615ddaf1d452b843

MD5-Hash ermitteln
HashMyFiles: Calculate MD5/SHA1/CRC32 hash of files


Deine erfolglose Reparatur, war das sfc /scannow?
Windows 7 inside*»*SFC überprüft Ihre Systemdateien und stellt sie wieder her

Alternativ Reparieren mit DVD
Windows 7 reparieren mit DVD - CHIP


Kannst du dich evtl doch an ein Ereignis erinnern? Evtl an eine Meldung vom installierten Antivirus-Programm? (falls vorhanden)
Denkbar wäre, dass Malware seine eigene Datei eingebracht hat. Normal ist das nicht und hier auf 5 Systemen bislang nie vorgekommen.

MfG
 
Erst mal Hallo und ein herzliches Willkommen hier im Forum ManniP...

Also
Die Comctl32.dll gibt es schon seit Win 3 Zeiten.
Und selbst dieses alte BS hat diese Datei immer selbst mitgebracht.
Aber das nur zur Info... ist auch nicht so wichtig.
Wichtig ist für Dich ManniP
Du must irgendwie heraus bekommen welche Windows Version Du genau verwendest.
Winver in der Start und Suchzeile eingetippt, ist da schon mal ´ne Hilfe...
Und dann wie Bernd schon postete vorgehen.
Die comctl32.dll ist aber immer mehrfach im System vorhanden.
Was mich wundert, ist das der Reparaturlauf das nicht geradegezogen bekommt!
 
Hallo,
zuallererst mal das wichtigste Problem dabei: Windows startet nicht mehr. Ich habe mir eine Version der comctl32 aus dem Internet heruntergeladen (unter Knoppix Live) und in Windows\System32 (es ist, nebenbei erwähnt, ein 32-Bit-Windows. Ich habe noch ältere Programme und war mir beim 64-Bit-Windows nicht sicher, ob das geht) kopiert, da gehört sie hin. Doch sofort nach dem Start beschwert sich die Systemintegritätskontrolle (oder wie das Ding heist; es überwacht, ob Viren oder so Systemdateien verändern), dass die comctl32.dll nicht so sei, wie es das System erwartet (Prüfsummenfehler oder so) und verweigert den Start (shutdown). Lösche ich die Datei komplett aus dem Systemordner, kann das System nicht starten, weil dem allerersten Prozess der Benutzeroberfläche (LogonUI) eine wichtige Datei fehlt ... comctl32.dll. Nett, nicht?

Ich hatte einige Zeit zuvor bereits einmal Ärger mit dem Ding. Ein Programm (htmledit, ein Eingabeprogramm für Webseitensourcen) hat sich beschwert, dass die comctl32 nicht in der richtigen Version vorläge ... nachdem es zuvor gut funktioniert hatte. Da habe ich mir die Datei angesehen (und daher weis ich auch noch, dass sie in den System32-Ordner gehört) und festgestellt, dass sie eine andere Versionsnummer trug wie andere DLLs. Windows 7 hat hier immer 6-er-Nummern, diese DLL hatte sogar noch eine 5 vorne, das weis ich noch. Allerdings: den Rest weis ich nicht mehr, zu viele Zahlen. Demnach hat ein Programm bei der Installation das Kunststück geschafft, dem System eine ältere, eigene comctl32.dll unterzuschieben und es dazu gebracht, sie zu akzeptieren. Prinzipiell geht sowas also.

Dann hat wohl das Systembereinigungsprogramm die falsche Version bemerkt und idiotischerweise alles von dem Ding gelöscht (scheinbar auch die Kopien für die Reparatur). Und jetzt stehe ich da. Ich habe nun die Hoffnung, es gibt irgendwo noch eine Kopie, die nicht an der Automatik hängt und die eventuell auch das Bereinigungsprogramm übersehen hat.

Kann man von außen oder zum Beispiel über die Kommandokonsole in den Reparaturoptionen die Datei aus dem Überwachungssystem löschen, sodass Windows sich nicht mehr über die geänderte Datei ärgert? Dann könnte ich die korrekte (auch von der Versionsnummer her) comctl32.dll in den entsprechenden Ordner kopieren, ohne, dass es den shutdown beim Booten gibt. Anschließend kann ja Windows die Datei problemlos wieder überwachen, im Gegenteil, soll es sogar. Ich muss nur einmal booten, ohne, dass Windows die andere Datei bemerkt. Danach wird dann mangels anderer Infos die neue Datei in die Überwachung eingebunden und es geht wieder.

Ach ja, regsvr32 funktioniert nicht, offenbar ist die DLL irgendwie speziell programmiert. regsvr32 beschwert sich immer, dass die Einsprungpunkte für die jeweilige Aktion (/u oder /i) nicht existieren würden und fragt, ob das überhaupt eine DLL sei.

Tja, alles Mist hier. Ich könnte natürlich Windows komplett neu installieren, doch es gibt keine Reparaturinstallation. Dann ist alles weg. Kein guter Weg, sondern nur die letzte Möglichkeit.

Tschüß

Mannni

System: 64-Bit-CPU in Selbstbau-Rechner mit 3 GB RAM
Zahlreiche Platten aus'm Ersatzteilhandel (gebraucht)
Windows-7-Professional-32
 
Siehst Du
jetzt wissen die Helfer hier schon viel mehr.
Danke für die Infos...
Kannst Du denn die Platte ausbauen und an ein anderes System anschließen...Bei ´nem Kumpel oder so
Per USB to SATA bzw. IDE oder direkt in einem anderen PC reinbauen/anschließen...
Um die Daten zu sichern...eventuell auch um die dll zu ersetzen
Und dann würde ich an Deiner Stelle die "Büchse" neu aufsetzen...
 
Hallo ManniP,
kannst Du uns mitteilen ob Windows 7 SP1 auf dem aktuellen Stand war. Wenn ja, dann wurde diese Datei zuletzt mit diesem Sicherheitsupdate hier MS15-060: Sicherheitsrisiko in allgemeinen Microsoft-Steuerelementen kann Remotecodeausführung ermöglichen 9. Juni 2015 aktualisiert und Du findest diese Datei u. a. im Ordner C:\Windows\winsxs\x86_microsoft-windows-shell-comctl32-v5_31bf3856ad364e35_6.1.7601.18837_none_3b90d8dc36473182, siehe angefügte Textdatei (jedoch x64-System).

Zur Reparatur boote bitte von einem Windows 7 SP1 Installationsmedium (DVD oder USB-Stick) und klicke bei der Sprachauswahl auf "Weiter". Wähle hier nun Computerreparaturoptionen und dann mit klick auf "Weiter" die Eingabeaufforderung. Hier gibst Du bitte folgendes ein:
Code:
d:
dir
sfc /scannow /offbootdir=d:\ /offwindir=d:\windows
Nach Eingabe des Befehls d:\dir solltest Du neben den anderen Ordnern auch Windows sehen. Ist dem nicht so dann passe den Laufwerksbuchstaben an.
 

Anhänge

  • comctl32.txt
    4,6 KB · Aufrufe: 282
Hallo,
an und für sich eine gute Idee. Mein Problem ist aber umgekehrt. Wie ich weiter oben schon mal geschrieben habe: Als ich wegen einer Fehlermeldung, die DLL sei veraltet und habe die benötigte Funktion nicht, die DLL kontrolliert hatte, stellte sich heraus, dass sie mit einer 5.xx.irgendwas Versionsnummer auf der Platte war, die Windows selbst aber nicht gestört hat. Da ich die Versionsnummern der einzelnen Dateien natürlich nicht aus dem Kopf kenne, habe ich ein paar der anderen DLLs kontrolliert und festgestellt, dass sie alle eine 6.xx.irgedas-Versionsnummer haben. Der Verdacht drängt sich auf, dass auch die comctl32 eigentlich diese Versionsnummer hätte haben müssen, zumal Windows 7 ja intern mit der Versionsnummer 6.1 und dem Build 76irgendwas (bei mir) angegeben wird. Da habe ich das Ganze allerdings noch ignoriert. Eine Bereinigung von Systemproblemen wegen langsamen Starts produzierte dann das Problem.

Daraufhin habe ich mir (zunächst nicht dran denkend) aus dem Internet die comctl32 (natürlich als 6.....) besorgt. Nach dem Einspielen derselben dachte ich, alles wäre wieder klar, doch dann beschwerte sich beim Start die Systemintegritätsprüfung (so heist das, glaube ich), die mittels Prüfsummen oder so überprüft, ob wichtige Systemdateien verändert wurden, dass die comctl32 verändert worden sei. Erst da fiel mir die veraltete Versionsnummer wieder ein. Ich habe also nicht das Problem einer zu neuen Version, sondern das einer zu alten.

Dann habe ich alle im Internet verfügbaren comctl32 durchprobiert (verschiedene Versionen), da ich die richtige Nummer nicht mehr weis. Als allerdings LogonUI konstant über die fehlende comctl32 jammerte, egal, ob eine da war oder nicht, habe ich das aufgegeben.

Nun habe ich anders reagiert und dieses Thema hat sich (ungelöst, allerdings) erledigt.

Tschüß und trotzdem Danke für die Bemühungen

Manni
 
Anzeige
Oben