Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Jak pobrać zależne biblioteki dll w programie Internet Explorer z pliku .inf

WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.

Anglojęzyczna wersja tego artykułu to:165075
Streszczenie
Jest często pobrać zależne biblioteki dll wraz z ActiveXFormant. Formanty MFC i Visual Basic mają ten wymóg. W tym artykulesię wyjaśnienie, że można to zrobić na trzy sposoby.
Więcej informacji
Istnieją trzy sposoby, aby dołączyć pliki do pobrania dla zależne biblioteki DLLformant. Pierwszy sposób polega na obejmują DLL(s) w pliku CABkontroli wraz z OCX i INF plików. Wadą tego poziomu jestBiblioteka DLL będą pobierane razem pobrać formant. W niektórych przypadkachjest to właściwe. Dalej metodą jest zależne od DLL(s) w pakiecierozdzielić pliku CAB i odnosić się do tego w pliku INF dla formantu. WTrzeci sposób również pakiety DLL w oddzielnym pliku CAB, ale jest plik CABokreślone w pliku INF formantu z haczyka. Za pomocą haczyka umożliwiaPobierz procesu wykonywania pliku INF lub EXE, zawarte w utrzymaniuPlik CAB.

Aby dodać zależności dla pliku OCX (w tym przykładzie Simpdll.dll), sekcjapodobne do sekcji dla formantu jest dodawane do sekcji [AddCode]Plik INF:
   [Add.Code]   TestDw.ocx=TestDw.ocx   simpdll.dll=simpdll.dll				
Następnie dodaje się sekcję do kontrolowania instalacji pliku INFBIBLIOTEKA DLL:
   [simpdll.dll]   FileVersion=1,0,0,1   file-win32-x86=thiscab				
To pierwszy sposób wymienionych objąć pobieranie zależnej biblioteki DLL.

Aby dołączyć bibliotekę DLL w oddzielnym pliku CAB, niezbędne jestZmiana lokalizacji URL, w którym kabiny dependent z "thiscab"zostaną umieszczone:
File-Win32-x86=http://www.contoso.com/Controls/Dependent.cab
W takim przypadku Simpdll.cab zawiera tylko simpdll.dll.

Wiele bibliotek DLL można dodać do plików INF i kabiny powyżej, jeśli to konieczne.

Trzecim sposobem pakiet zależne biblioteki DLL jest można znaleźć w pliku CAB zależne biblioteki DLL za pomocą haczyka. W tej technice INF lub EXE plików wKABINY zależne mogą być wykonywane podczas pobierania.

Następujących sekcji z pliku .inf formantów zależnych pobierania biblioteki DLLw przypadku formantów MFC:
   [Add.Code]   ...   msvcrt.dll=msvcrt.dll   mfc42.dll=mfc42.dll   olepro32.dll=olepro32.dll   [msvcrt.dll]   FileVersion=4,20,0,6164   hook=mfc42installer   ...   [mfc42installer]   file-win32-x86=http://activex.microsoft.com/controls/vc/mfc42.cab   run=%EXTRACT_DIR%\mfc42.exe				
W takim przypadku biblioteki MFC DLL są spakowane w formie samorozpakowującego się pliku .exektóry jest zawarty w pliku cab (mfc42.cab). Jednakże narzędzia, abysamowyodrębniające się pliki .exe nie są obecnie dostępne w firmie Microsoft.Dlatego potrzebny do spakowania zależne biblioteki DLL przy użyciu pliku influb odwołać pliku .inf w hak instalacji:
   [yourinstaller]   file-win32-x86=http://example.microsoft.com/simpdll.cab   InfFile=your.inf				
Lub, należy zbudować self Wyodrębnianie pliku EXE przy użyciu innejnarzędzia.

Aby zilustrować, Oto pliku INF używane do instalowania dependentBiblioteki MFC DLL. Można zmodyfikować, aby zainstalować swoje własne biblioteki dll w taki sam sposóbzainstalowania biblioteki MFC DLL.
   ; ========================= Mfc42.inf =========================   ; This file will control the download of the MFC 4.2 DLLs   [version]   ; version signature (same for both NT and Win95) do not remove   signature="$CHICAGO$"   AdvancedINF=2.0   [SourceDisksNames]   ; This section specifies that all sources are in the "default"   ; location.   1="default",,1   [DefaultInstall]   ; Default section to process and copy all files under the section   ; mfcdllsx.files and Register DLLs under the section mfcdllsx.register.   CopyFiles=mfcdllsx.files   RegisterOCXs=mfcdllsx.register   [DestinationDirs]   ; Destination Directories for CopyFiles Sections.   ; 11 indicates LDID_SYS - system directory   mfcdllsx.files=11   [mfcdllsx.files]   ; ,,,32 - Suppress version conflict dialog and don't overwrite newer   ; DLLs   msvcrt.dll,,,32   mfc42.dll,,,32   olepro32.dll,,,32   [mfcdllsx.register]   ; msvcrt.dll is not self registering   %11%\mfc42.dll   %11%\olepro32.dll   ; ====================== Mfc42.inf ======================				
Biblioteka DLL musi wymienionych w sekcji .register, jeśli jego wywozuFunkcja DllRegisterServer. Można to ustalić poprzez zbadanie biblioteki DLLza pomocą narzędzia Dumpbin.exe kompilatora Visual C. Można również uruchomićPolecenie regsvr32, biblioteka DLL, który usiłuje zarejestrować biblioteki DLL. Ładuje regsvr32Biblioteka DLL, weryfikuje, że funkcja DllRegisterServer jest prawidłowo wyeksportowane przez wywołanieOperacja GetProcAddress(), funkcja DLLRegisterServer. Jeśli się powiedzie,Funkcja DllRegisterServer jest eksportowany, a następnie wywoływana.

Uważaj jednak, że zasilany Regsvr32 biblioteki DLL może mieć niepożądanyefekty uboczne. Gdy wywoływana jest funkcja DllRegisterServer, dzięki odpowiednimwpisy rejestru wskazujący lokalizację biblioteki DLL, na komputerze. Na przykład,wpisanie następującego tekstu w wierszu polecenia MS-DOS, do celów testowych może spowodowaćproblemy:
   copy mfc42.dll C:\Test   run "D:\msdev\bin\REGSVR32.EXE C:\Test\mfc42.dll"   delete mfc42.dll				
Następnym razem system próbuje wyszukać Mfc42.dll, wygląda w góręrejestr, stwierdzi, że plik jest mapowany na C:\Test\Mfc42.dll i nienie ma go znaleźć. Uruchomione polecenie Regsvr32 dla pliku jest już zainstalowany nakomputer nie powoduje problemów.

Instalowanie biblioteki DLL z haczyka i self wyodrębnianie EXE jest przydatne w przypadkunastępującego powodu: Jeśli biblioteki DLL, która musi zostać uaktualniony, jest już załadowany wpamięć, nie będzie pobierania. Jest to znany problem zostałustalone w programie Internet Explorer w wersji 4.0. Sugeruje programu Internet Explorer 4.0ponowny rozruch i obciążenia nowej biblioteki DLL podczas ponownego uruchomienia komputera.
Materiały referencyjne
Aby uzyskać dodatkowe informacje zobacz następujące artykuły z bazy wiedzy Microsoft Knowledge Base:
167158 Jak pakiet formanty MFC do wykorzystania w Internecie
167597 Określanie dla pobierania składnika FileVersion i pole # Version

Aby uzyskać więcej informacji zobacz następujące emisja internetowa:

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 165075 — ostatni przegląd: 09/28/2011 05:42:00 — zmiana: 4.0

Windows Internet Explorer 8, Windows Internet Explorer 8 on Windows Server

  • kbcode kbdownload kbfaq kbhowto kbmt KB165075 KbMtpl
Opinia