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

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 165075 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Streszczenie

Jest często pobrać zależne biblioteki dll wraz z ActiveX Formant. Formanty MFC i Visual Basic mają ten wymóg. W tym artykule się 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 DLL formant. Pierwszy sposób polega na obejmują DLL(s) w pliku CAB kontroli wraz z OCX i INF plików. Wadą tego poziomu jest Biblioteka DLL będą pobierane razem pobrać formant. W niektórych przypadkach jest to właściwe. Dalej metodą jest zależne od DLL(s) w pakiecie rozdzielić pliku CAB i odnosić się do tego w pliku INF dla formantu. W Trzeci sposób również pakiety DLL w oddzielnym pliku CAB, ale jest plik CAB określone w pliku INF formantu z haczyka. Za pomocą haczyka umożliwia Pobierz procesu wykonywania pliku INF lub EXE, zawarte w utrzymaniu Plik CAB.

Aby dodać zależności dla pliku OCX (w tym przykładzie Simpdll.dll), sekcja podobne 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 INF BIBLIOTEKA 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 jest Zmiana 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 w KABINY zależne mogą być wykonywane podczas pobierania.

Następujących sekcji z pliku .inf formantów zależnych pobierania biblioteki DLL w 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 .exe który jest zawarty w pliku cab (mfc42.cab). Jednakże narzędzia, aby samowyodrę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 inf lub 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 innej narzędzia.

Aby zilustrować, Oto pliku INF używane do instalowania dependent Biblioteki MFC DLL. Można zmodyfikować, aby zainstalować swoje własne biblioteki dll w taki sam sposób zainstalowania 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 wywozu Funkcja DllRegisterServer. Można to ustalić poprzez zbadanie biblioteki DLL za 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 regsvr32 Biblioteka DLL, weryfikuje, że funkcja DllRegisterServer jest prawidłowo wyeksportowane przez wywołanie Operacja 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żądany efekty uboczne. Gdy wywoływana jest funkcja DllRegisterServer, dzięki odpowiednim wpisy 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 nie nie ma go znaleźć. Uruchomione polecenie Regsvr32 dla pliku jest już zainstalowany na komputer nie powoduje problemów.

Instalowanie biblioteki DLL z haczyka i self wyodrębnianie EXE jest przydatne w przypadku następującego powodu: Jeśli biblioteki DLL, która musi zostać uaktualniony, jest już załadowany w pamięć, nie będzie pobierania. Jest to znany problem został ustalone w programie Internet Explorer w wersji 4.0. Sugeruje programu Internet Explorer 4.0 ponowny 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:
W jaki sposób składnika Internet pobrać pracy?

Właściwości

Numer ID artykułu: 165075 - Ostatnia weryfikacja: 28 września 2011 - Weryfikacja: 4.0
Informacje zawarte w tym artykule dotyczą:
  • Windows Internet Explorer 8
  • Windows Internet Explorer 8 on Windows Server
Słowa kluczowe: 
kbcode kbdownload kbfaq kbhowto kbmt KB165075 KbMtpl
Przetłumaczone maszynowo
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

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com