Sprawdzanie wersji DLL

Czy nowy system Windows 98 poradzi sobie z problemem bibliotek DLL?

Czy nowy system Windows 98 poradzi sobie z problemem bibliotek DLL?

System Windows 98 będzie zawierał narzędzia do kontroli i zarządzania różnymi wersjami bibliotek DLL.

Jednym z największych problemów użytkowników systemu Windows 95, a zwłaszcza dużych korporacji lub instytucji, które eksploatują setki komputerów PC, jest możliwość zmiany przez nowo instalowane aplikacje plików współdzielonych z innymi programami. Po takiej zamianie nazwa współużytkowanego pliku pozostaje ta sama, ale jego wersja jest inna i bardzo często pracujące do tej pory bezbłędnie aplikacje zaczynają szwankować. Dotyczy to kilku rodzajów plików, a szczególnie zbiorów z rozszerzeniem DLL.

W wielu przypadkach system Windows 95 "zawiesza się" właśnie dlatego, że jakaś aplikacja próbuje korzystać z usług nieodpowiedniej wersji biblioteki DLL. Do konfliktu dochodzi wtedy, gdy jedna wersja pewnej biblioteki funkcji została zamieniona przez inną. Trzeba zaznaczyć, że zamiana nie zawsze prowadzi do załamania systemu. Ma to miejsce tylko wtedy, gdy aplikacja próbuje wykonać specyficzną funkcję, której nie oferuje wywołana biblioteka. W pewnym stopniu jest to kwestia przypadku i dlatego diagnozowanie tego rodzaju problemów jest bardzo trudne.

Problemu tego można by uniknąć, gdyby każda instalowana aplikacja sprawdzała numer wersji współdzielonej biblioteki DLL przed podjęciem próby zmiany pliku. Nie wystarcza sprawdzenie daty utworzenia pliku, ponieważ łatwo można ją zmienić - na szczęście większość plików DLL zawiera wewnętrzny numer definiujący wersję biblioteki, który może być odczytany przez program instalujący nową aplikację.

Niestety, procedura ta jest stosowana bardzo rzadko. Nawet aplikacje Microsoftu nie korzystają z tej możliwości. Na przykład Microsoft Office 4, Excel 5, Word 6 i inne programy pakietu Office wymagają obecności starszych bibliotek DLL, podczas gdy Microsoft wprowadził już na rynek nowe wersje. I tak np. Office 4.3c może korzystać z usług OLE2NLS.DLL w wersji 2.01, ale przestanie pracować w przypadku wywołania OLE2NLS.DLL w wersji 2.02. Jeśli ktoś chce zainstalować aplikację, która wymaga obecności biblioteki OLE2NLS.DLL w wersji 2.02, a jednocześnie korzystać z programów Office, może mieć poważne kłopoty.

Ale "koszmar DLL" może się wkrótce skończyć. Podczas zamkniętej prezentacji systemu Windows 98 Microsoft ujawnił, że będzie on zawierał narzędzia, dzięki którym problemy z bibliotekami DLL znikną.

Narzędzia te mają działać następująco:

Jeśli aplikacja spróbuje zapisać plik DLL o starszej wersji, to system przepisuje istniejącą nowszą w bezpieczne miejsce i pozwala zainstalować tę starszą wersję biblioteki w systemie (jest to najczęściej warunkiem pomyślnej instalacji nowego pakietu);

Po ukończeniu procedury instalacji, system przesuwa starszą bibliotekę w neutralne miejsce i ponownie przepisuje nowszą bibliotekę pod pierwotny adres.

W 99 na 100 przypadków aplikacje przystosowane do starszej biblioteki pracują bez problemu, wykorzystując nowszą jej wersję. A co z tym jednym procentem? Jeśli okaże się, że program musi współpracować ze starszą biblioteką, to Windows 98 również ma to umożliwić dzięki narzędziu System Configuration Utility. Program ten pozwala na przesuwanie plików DLL w odpowiednie miejsca lub ich automatyczną wymianę.

Niestety, wersja beta 3 Windows 98 nie oferuje jeszcze takiej opcji. System pracuje nieco inaczej - jeśli wykryje, że nowsza wersja biblioteki ma być zapisana przez starszą, to pozwala na to, wpisując jedynie odpowiednią informację do dziennika pracy zakładanego przez System Configuration Utility. A wtedy jest za późno, żeby coś zrobić, jeśli jakaś aplikacja zacznie źle działać lub powodować zawieszenie systemu. Można mieć nadzieję, że Microsoft wprowadzi odpowiednią poprawkę do funkcjonowania System Configuration Utility.

Jeśli ktoś ma inny pomysł, jak rozwiązać problem bibliotek DLL, może przesłać informacje pod adres mailto:brian_ [email protected] , a zostaną one przekazane programistom Microsoftu.

Brian Livingston jest współautorem książki Windows 95 Secrets Gold i wielu innych pozycji o systemie Windows. Tłum. j.ch.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200