Porządkowanie plików DLL

1. Wyjmujemy z komputera wszystkie dyskietki i dyski CD-ROM. Wyszukujemy w okienku My Computer pliki z rozszerzeniem .DLL. Klikamy na przycisku Name i sortujemy wszystkie pliki wg ich nazw. Identyfikujemy wszystkie pliki DLL umieszczone w różnych folderach, które mają tę samą nazwę, ale różną długość lub inną datę. Wskazane jest, aby duplikowane pliki DLL znajdowały się w dwóch folderach: System i SysBkup. Podczas inicjowania pracy komputera, Windows 95 kopiuje ważne pliki DLL (w tym plik WINSOCK.DLL) z folderu SysBkup do folderu System, usuwając tym samym poprzednie wersje plików DLL rezydujących w folderze System. W taki oto sposób Microsoft radzi sobie z tymi plikami WINSOCK.DLL, które niezależni producenci oprogramowania dołączają do swoich aplikacji.

2. Nie wprowadzając na razie do bibliotek DLL żadnych zmian, robimy całkowity "back up" systemu.

3. Upewniamy się, że najnowsze wersje plików DLL (z usług których korzystają eksploatowane przez nas aplikacje) znajdują się w folderze System. Teraz usuwamy te pliki DLL, które mają tę samą nazwę, ale znajdują się w innych folderach. Ale uwaga - nie wykonujemy tej operacji w stosunku do pliku WINSOCK.DLL.

Windows przeszukuje zasoby komputera w poszukiwaniu plików DLL w następującej kolejności: najpierw aktualny folder, następnie foldery Windows i System, aby skończyć na folderach DOS. Zasada jest prosta - powinniśmy doprowadzić do tego, aby komputer dysponował tylko jednym plikiem DLL (współdzielonym przez uruchamiane przez nas aplikacje) i by rezydował on koniecznie w folderze System. I proszę pamiętać o tym, że późniejsza data towarzysząca plikowi nie oznacza wcale, iż jest to nowszy produkt. Dlatego w okienku Find klikamy prawym przyciskiem myszy na nazwie każdego pliku DLL, a następnie wybieramy opcje Properties i Version.

Jeśli plik wyświetli wewnętrzny numer wersji, to używamy go do uporządkowania biblioteki. Jest to pewniejsza metoda, niż sprawdzanie dat przypisanych plikom. W przypadku pliku WINSOCK.DLL postępujemy inaczej i zachowujemy różne wersje tej biblioteki we wszystkich folderach. Następnie uruchamiamy po kolei różne aplikacje korzystające z usług tego pliku i definiujemy, którą bibliotekę WINSOCK.DLL należy zostawić.

4. Aby określić, które aplikacje korzystają z usług poszczególnych bibliotek, ściągamy z serwera sieci Web (http://www.infoworld.com) plik FINDEXE.ZIP. Plik znajduje się w katalogu /opinions/livingst. Po rozpakowaniu pliku, uruchamiamy go. Klikamy na przycisku Module List i sprawdzamy, jakie pliki DLL rezydują w pamięci komputera. Jeśli aplikacja generuje błąd GPF, to może on być powodowany przez ostatnio załadowany plik DLL (jego nazwę znajdziemy na końcu Module List).

Microsoft Office - trudna rada

Czas zająć się aplikacjami wchodzącymi w skład pakietu Microsoft Office. W przypadku napotkania niewłaściwej wersji biblioteki, aplikacje te generują bardzo często informację "Application Error, Call to Undefined Dynalink". Niekiedy możemy mieć do czynienia z nieco dłuższym komunikatem "The server application, source file, or item cannot be found. Make sure the application is properly installed, and that has not been deleted, moved or renamed". Tak jak w przypadku wielu innych informacji o błędach generowanych przez system operacyjny Windows, tak i te nie mówią użytkownikowi absolutnie nic. Co to jest np. "dynalink"? Drugi komunikat też nie wnosi niczego konkretnego.

Problem polega na tym, że Microsoft przez lata wprowadzał na rynek różne wersje plików DLL. Nieraz zdarza się, że są to identyczne wersje plików, ale opatrzone innymi datami. Kiedy instalujemy nową aplikację (korzystającą z usług współdzielonej biblioteki), to może się zdarzyć, że zainstaluje ona starszą wersję biblioteki. A pozostałe aplikacje pracują tylko z nowymi wersjami biblioteki. Stąd błędy w rodzaju "undefined dynalink".

Wydaje się, że instalowanie nowszych wersji bibliotek powinno ustrzec przed problemami podobnego rodzaju. Lecz niektóre programy nie chcą z nimi współpracować. A oto przykład - wymienione wcześnie aplikacje Microsoft Office mogą współpracować wyłącznie z biblioteką OLE2NLS.DLL w wersji 2.01. Jeśli np. Word 6.0 napotka w pamięci komputera najnowszą wersję tej biblioteki (2.02), to nie będzie pracował poprawnie.

Microsoft skomplikował sprawę jeszcze bardziej, dołączając do wprowadzanych na rynek aplikacji kilkanaście odmian biblioteki OLE2NLS.DLL Version 2.01. I tak np. plik ten może mieć różną długość (doliczyliśmy się pięciu takich plików) i może mu towarzyszyć różna data (doliczyliśmy się czternastu takich dat). Ale to jeszcze nie wszystko. Jeśli korzystamy z usług pakietu Office Manager i uruchamiamy nową aplikację, to Windows nie zainstaluje wymaganych bibliotek i nie wyświetli żadnej informacji o błędzie. Jaka jest zatem rada? Chyba tylko jedna - przejść na Office 95. Ale nie jest to żadne rozwiązanie dla tych użytkowników, którzy zamierzają dalej używać aplikacji zawartych w pakiecie Microsoft Office. Problem pozostaję więc otwarty.


TOP 200