Windows 95: Immer wiederSchutzverletzungen nach Installation von Shareware

Seit kurzer Zeit verursachen viele meiner 16-Bit-Anwendungen beim Schlie▀en eine Schutzverletzung. Das Speichern offener Dateien geht zwar noch ordnungsgemΣ▀ vonstatten, doch ein Programmfenster schlie▀t sich erst dann, wenn ich die Fehlermeldung bestΣtigt habe. Dazu mu▀ ich sagen, da▀ ich hΣufig Sharewareprogramme ausprobiere und deshalb vermute, da▀ das Problem mit einer fehlerhaften Installation solch eines Programms zusammenhΣngt. Leider kann ich nicht mehr rekonstruieren, welches Programm fⁿr das Auftreten des Fehlers verantwortlich sein k÷nnte. Ein Hinweis liefert m÷glicherweise die Fehlermeldung typelib.dll ist veraltet, die ich beim Versuch bekomme, die letzte WIN-Extra-CD zu installieren. Haben die beiden Fehler etwas miteinander zu tun? Was kann ich tun, um mein System wieder in Ordnung zu bringen?

Mit ihrer Vermutung bezⁿglich der Sharewareprogramme liegen Sie sicher richtig. Viele Sharewareprogramme kopieren eigene Programmbibliotheken (DLL-Dateien) in den Systemordner von Windows und ⁿberschreiben dabei ohne Rⁿckfrage bereits vorhandene Dateien. Das ist zum Beispiel der Fall, wenn der Programmierer sicherstellen will, da▀ sein Programm auf allen Systemen lΣuft und deshalb die fⁿr die Programmierung benutzten Bibliotheksfunktionen als DLL-Dateien mitliefert. Dabei kann es zu InkompatibilitΣten kommen, die dann beim Aufruf einer Funktion aus einer geΣnderten Bibliothek zu einer Schutzverletzung fⁿhren.Ein besonders anfΣlliger Bereich sind die Bibliotheken, die den OLE-Mechanismus zur automatischen Kommunikation zwischen verschiedenen Anwendungen realisieren. Windows 95 enthΣlt die OLE-Version 2.1, es kursieren allerdings noch Bibliotheken fⁿr Σltere Versionen. Insbesondere 16-Bit-Programme basieren oft noch auf der Version 2.0, und wenn nun ein solches Programm eine oder mehrere Bibliotheksdateien durch eine Σltere Version ⁿberschreibt, kann es zu Inkonsistenzen mit den restlichen OLE-Dateien kommen, was zu den beschriebenen Effekten fⁿhrt. Die Datei TYPELIB.DLL ist beispielsweise eine derartige OLE-Datei, die bei Ihnen offensichtlich von einer Σlteren OLE-Version stammt (daher die Fehlermeldung des Setup-Programms).Fⁿr einen ersten ▄berblick sollten Sie im Explorer die Dateien nach Dateityp sortieren und sich die Datei TYPELIB.DLL und die OLE-Programmbiliotheken (OLE*.DLL, COMPOBJ.DLL) anschauen. Original-Windows-95-Dateien sind am Datum eindeutig zu erkennen (24.08.95, 09:50). Falls sich unter den OLE-Bibliotheken Dateien neueren Datums befinden, haben Sie bereits einen ersten Hinweis. Um die Versionsnummer einer Programmbibliothek festzustellen, wΣhlen Sie aus dem Kontextmenⁿ einer DLL-Datei den Befehl Eigenschaften und wechseln auf die Registerkarte Version. Hier k÷nnen Sie die Versionsnummer der Datei und eine Kurzbeschreibung der Bibliothek ablesen, sowie bei Bedarf weitere Versionsinformationen abrufen. ▄berprⁿfen Sie, ob die entsprechenden Dateien alle die Versionsnummern ab 2.1 aufweisen (die Datei OLE2.DLL hat sogar schon die Versionsnummer 2.2). Die Dateien mit Σlteren Versionsnummern sollten Sie durch die Originalversionen ersetzen: Kopieren Sie diese von einer Sicherung oder der Windows-95-CD neu.Ihr Problem beim Schlie▀en von Anwendungen wird vermutlich nicht von Inkonsistenzen bei den OLE-Bibliotheken verursacht, sondern von geΣnderten Bibliotheken im Bereich elementarer Windows-Funktionen. Fⁿr Standardelemente gibt es unter Windows verschiedene Bibliotheken, die von allen Programmen genutzt werden k÷nnen, um zum Beispiel Fenster oder Programme zu schlie▀en, Dialogelemente anzuzeigen oder abzufragen und so weiter. Entsprechende Funktionen fⁿr 16-Bit-Programme befinden sich in den Bibliotheken, deren Namen mit COM (fⁿr common) oder CTL (fⁿr control) beginnen, zum Beispiel COMMCTL.DLL oder CTL3D.DLL. Wahrscheinlich ist eine dieser Dateien bei der Installation eines (anderen?) Sharewareprogramms ⁿberschrieben worden.Hier ist die Versionsnumerierung leider nicht einheitlich, es empfiehlt sich daher ein Dateiabgleich mit den Originaldateien einer 16-Bit-Anwendung, bei der der Fehler auftritt. Ersetzen Sie entsprechende DLL-Dateien wieder durch die Originale, oder fⁿhren Sie eine Neuinstallation Ihres wichtigsten 16-Bit-Programms durch. Durch das ▄berschreiben der fehlerhaften Bibliotheken sind meist auch die Probleme der anderen Programme verschwunden. Um in Zukunft Σhnliche Probleme frⁿhzeitig zu erkennen, empfehle ich Ihnen, die entsprechenden Dateien nach Wiederherstellen eines konsistenten Systems schreibzuschⁿtzen. Versuche eines Installationsprogramms, solche Dateien zu ⁿberschreiben, fⁿhren dann zu einer Fehlermeldung oder zum Nichtfunktionieren des neuen Programms. SpΣtestens dann sollten Sie eine Sicherung des Windows-Verzeichnisses vornehmen. Falls dann nach der erneuten Installation (diesmal mit ungeschⁿtzten Dateien) Fehler auftreten, k÷nnen Sie die Installation schnell wieder rⁿckgΣngig machen. Unterstⁿtzung beim Aufspⁿren von Inkonsistenzen und Hilfe bei der Deinstallation bieten Ihnen auch Tools wie Uninstaller oder Cleansweep. Noch ein Tip: Wenn Sie das Windows-Zubeh÷r Schnellansicht installiert haben, k÷nnen Sie auch ausfⁿhrliche Informationen ⁿber den Inhalt einer Programmbibliothek erhalten. Der Befehl Schnellansicht im Kontextmenⁿ einer DLL-Datei zeigt Ihnen dann unter anderem die Namen und Einsprungstellen der enthaltenen Funktionen sowie die Namen von anderen verwendeten Bibliotheken an. Damit k÷nnen Sie eventuell Querverbindungen zwischen DLL-Dateien aufspⁿren.01/97