Fehlerhafte Microsoft JET-Installation reparieren

Um eine fehlerhafte Microsoft JET- oder Microsoft MDAC-Installation zu reparieren hat mir heute ein kostenloses Werkzeug geholfen:

CSRepair“ von der Firma Macropool (hier der direkte EXE-Download).

Im konkreten Fall war es der Fehler

Das COM-Objekt mit der CLSID {DE88C160-FF2C-11D1-BB6F-00C04FAE22DA} ist ungültig oder wurde nicht registriert

Nach dem Ausführen des Werkzeugs war der Fehler behoben.

Update 27.04.2017

Die Links oben zu CSRepair sind tot, deshalb habe ich sie entfernt. Eventuell hilft dieses Tool von Microsoft weiter.

Siehe auch meinen Artikel zum Reparieren von JET-Dateien.

AllocSysString

Hartnäckigkeit zahlt sich oft aus: Heute habe ich ein Speicherleck (englisch „Memory leak“) in Zeta Producer korrigiert, das seit Version 5 drin war:

Beim Aufruf der Microsoft Scripting Engine habe ich beim Aufruf der Funktion IActiveScriptParse::ParseScriptText irrtümlicherweise CStringT::AllocSysString aufgerufen und den so angeforderten Speicher selbst nicht mehr freigegeben. Dies hätte ich jedoch machen müssen, was ich in der korrigierten Version nun mache.

Das hätte ich aber machen sollen! „RTFM“ hat Mario mir da gleich geantwortet als ich es ihm erzählt habe.

Hiermit also nochmals der ultimative Artikel wann wer für die Freigabe von Zeichenfolgen die mittels AllocSysString reserviert wurden verantwortlich ist: „Allocating and Releasing Memory for a BSTR (Visual C++ Concepts)„.