Konflikt bibliotek DLL w InTouch`u 7.0

Transkrypt

Konflikt bibliotek DLL w InTouch`u 7.0
INFORMATOR TECHNICZNY WONDERWARE
Informator Techniczny nr 35
24-05-1999
Konflikt bibliotek DLL w InTouch’u 7.0
Opis problemu
Konflikt bibliotek DLL pojawia się w przypadku zainstalowania InTouch 7.0 i najnowszych wersji
bibliotek: MFC42.DLL i MSVCRT.DLL, wersja 6.x. Najnowsze wersje tych bibliotek są instalowane z
takimi aplikacjami jak Microsoft Office 2000, Microsoft Visual Studio 6.0 (zawiera: Visual C++, Visual
Basic, Visual J++, Visual InterDev i Visual FoxPro).
UWAGA! Nie ma Ŝadnego konfliktu w bibliotekach DLL z mającym się pojawić InTouch’u w wersji 7.1
poniewaŜ InTouch 7.1 jest kompilowany przy pomocy Microsoft Visual C++ 6.0.
Wyjaśnienie problemu
Konflikt bibliotek w InTouch’u 7.0 (WindowMaker i WindowViewer) wynika ze zmian poczynionych przez
Microsoft w bibliotekach MFC42.DLL i MSVCRT.DLL. Pomimo pojawienia się szeregu Service Paków
dla Visual Studio 6.0, które rozwiązywały niektóre problemy szereg konfliktów dalej pozostaje. PowyŜsze
zmiany powodują błędne działanie oprogramowania równieŜ innych dostawców.
Rozwiązanie
Upewnij się, Ŝe biblioteki zainstalowane na komputerze, na którym jest uruchamiany InTouch 7.0 mają
następujące wersje MFC42.DLL wersja 4.21.7160 i MSVCRT.DLL wersja 5.00.7303. Biblioteki znajdują
się w kartotece System32 w przypadku Windows NT i w kartotece System w przypadku Windows
95/98. W przypadku zainstalowania na tym samym komputerze Microsoft Office 2000, Microsoft Visual
Studio 6.0 lub innego programu uŜywającego nowych wersji (6.0) bibliotek DLL postępuj według
poniŜszej instrukcji:
Aby uzyskać dostęp do wcześniejszych wersji bibliotek zainstaluj InTouch 7.0 na komputerze na którym
nie ma nowych wersji tych bibliotek w kartotece System32.
UWAGA! Reinstalacja InTouch 7.0 na komputerze gdzie są juŜ nowe wersje bibliotek nie dokona
podmiany plików.
Następnie przekopiuj pliki MFC42.DLL, w wersji 4.21.7160, i MSVCRT.DLL, w wersji 5.00.7303, na
pierwszy komputer do kartoteki InTouch’a. Domyślnie InTouch jest instalowany w kartotece C:\Program
Files\FactorySuite\InTouch. Uaktualnij zmienną Path 1 tak aby w ścieŜce znalazł się równieŜ katalog w
którym zainstalowano InToucha np: C:\Program Files\FactorySuite\InTouch.
1
W przypadku Windows 95/98 modyfikacji zmiennej środowiskowej Path dokonuje się w pliku autoexec.bat. W przypadku
Windows NT naleŜy kliknąć prawym klawiszem myszki na ikonie Mój komputer, wybrać zakładkę Właściwości, a następnie
zakładkę Środowisko i z listy rozwijalnej Zmienne systemowe wybrać zmienną Path. W polu Wartość kartotekę InTouch po
kartotece %SYSTEMROOT% rozdzielając je średnikiem.
ASTOR Sp. z o.o.
Dział Oprogramowania Przemysłowego
ul. Smoleńsk 29, 31-112 Kraków
tel.: 012 428-63-30
fax: 012 428-63-09
e-mail: [email protected]
http://www.astor.com.pl
PowyŜsze czynności pozwolą InTouch’owi na odczytywanie poprawnych wersji bibliotek MFC42.DLL i
MSVCRT.DLL z kartoteki InTouch’a, pozwalając jednocześnie pozostałym aplikacjom na uŜywanie
najnowszych wersji bibliotek (wersja 6.0) z kartoteki Windows’owej.
UWAGA! PowyŜsze rozwiązanie nie było oficjalnie testowane przez dział Quality Assurance firmy
Wonderware, jednakŜe dział wsparcia technicznego (Technical Support) sprawdził poprawność działania
takiej konfiguracji. W przypadku jednak stworzenia dodatków dla InTouch’a (np. ActiveX) przy pomocy
Visual Studio 6.0 dodatki te nie będą działały jeŜeli starsze wersje bibliotek zostaną wkopiowane do
kartoteki InTouch’a poniewaŜ to te biblioteki zostaną wczytane z kartoteki roboczej (czyli kartoteki
InTouch’a) przed poszukiwaniem ich w katalogach systemowych. Rozwiązaniem jest statyczne
powiązanie własnego projektu z bibliotekami MFC.
2