Teď jste offline a čekáte, až se znova připojí internet.

Jak stáhnout závislé soubory DLL v aplikaci Internet Explorer s soubor .inf soubor

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:165075
Souhrn
Často je nutné stáhnout závislé knihovny DLL spolu s ActiveXOvládací prvek. Ovládací prvky MFC a Visual Basic mají tento požadavek. V tomto článkuvysvětlují třemi způsoby, můžete to provést.
Další informace
Existují tři způsoby zahrnout závislé knihovny DLL pro staženíovládací prvek. První způsob je zahrnout soubor CAB DLL(s)řídit OCX a INF a soubory. Nevýhodou tohoto je, žeKnihovna DLL budou staženy při každém stažení ovládacího prvku. V některých případechje to vhodné. Dalším způsobem je závislé DLL(s) v balíčkuOddělit soubor CAB a který naleznete v souboru INF pro ovládací prvek. Natřetí způsob balíčky také knihovna DLL v samostatném souboru CAB, ale je soubor CABuvedené v souboru INF ovládacího prvku s háčkem. Umožňuje hákemproces spuštění souboru INF nebo EXE, obsažené v dependent stahováníSoubor CAB.

K přidání závislosti pro soubor OCX (Simpdll.dll v tomto příkladu), oddílpodobné části ovládacího prvku je přidán do části [AddCode]soubor INF:
   [Add.Code]   TestDw.ocx=TestDw.ocx   simpdll.dll=simpdll.dll				
Oddíl je potom přidán do souboru INF, řízení instalaceKNIHOVNA DLL:
   [simpdll.dll]   FileVersion=1,0,0,1   file-win32-x86=thiscab				
Tímto způsobem první uvedené zahrnout závislou knihovnu DLL ke stažení.

Chcete-li zahrnout knihovnu DLL v samostatném souboru CAB, stačí jeZměna umístění z "thiscab" na adresu URL, kterou dependent kabinybude umístěn:
File-Win32-x86=http://www.contoso.com/Controls/Dependent.cab
V tomto případě Simpdll.cab obsahuje pouze simpdll.dll.

Více knihoven DLL lze přidat soubory INF a CAB výše, v případě potřeby.

Třetí způsob balíček závislé knihovny DLL je odkazovat na soubor CAB závislá knihovna DLL hákem. Při této technice INF nebo EXE souboru vzávislé kabiny mohou být provedeny na stažení.

V následující části ze souboru INF řídí stahování závislé knihovny DLLpro ovládací prvky 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				
V tomto případě jsou knihovny DLL MFC zabalen do samorozbalujícího souboru EXEkteré jsou obsaženy v souboru CAB (mfc42.cab). Aby však nástrojesamorozbalovací exe soubory nejsou aktuálně k dispozici od společnosti Microsoft.Proto je potřeba buď ke sbalení závislé knihovny DLL pomocí souboru INFnebo odkaz na soubor INF v háku instalace:
   [yourinstaller]   file-win32-x86=http://example.microsoft.com/simpdll.cab   InfFile=your.inf				
Nebo bude nutné vytvořit samostatně extrahování souboru EXE pomocí třetí stranynástroje.

Pro ilustraci, je použit k instalaci dependent souboru INFMFC knihovny DLL. Tato instalace vlastních knihoven DLL stejným způsobem můžete upravitže jsou nainstalovány soubory DLL MFC.
   ; ========================= 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 ======================				
Knihovna DLL musí být uvedeny v části .register, pokud jej exportujeFunkce DllRegisterServer. To může být určena zkoumání knihovny DLLKompilátor Visual C Dumpbin.exe nástroj. Můžete také spustitRegsvr32 na knihovnu DLL, který se pokusí zaregistrovat knihovnu DLL. Načte regsvr32Knihovna DLL, ověří, že funkce DllRegisterServer je řádně vyvezeno volánímVolání GetProcAddress() funkce DLLRegisterServer. Pokud sefunkci DllRegisterServer se exportuje a potom se nazývá.

Pozor však, že Regsvr32 systémem DLL může mít nežádoucívedlejší účinky. Když je zavolána funkce DllRegisterServer, provede příslušnápoložky registru odkazující na umístění knihovny DLL v počítači. Napříkladzadáním následujícího řetězce do příkazový řádek MS-DOS, pro testovací účely může způsobitpotíže:
   copy mfc42.dll C:\Test   run "D:\msdev\bin\REGSVR32.EXE C:\Test\mfc42.dll"   delete mfc42.dll				
Systém se pokusí vyhledat Mfc42.dll, dalším vyhledáregistr, zjistí, že soubor je mapována na C:\Test\Mfc42.dll a nenínajdete je tam. Systémem Regsvr32 na soubor, který je nainstalovánpočítače nezpůsobí problémy.

Instalace knihovny DLL s háčkem a self, extrahování souboru EXE je užitečné pronásledující důvod: Pokud je knihovna DLL, která musí být upgradován již načten vpaměť, stahování se nezdaří. Jedná se o známý problém, který bylstanovena v aplikaci Internet Explorer verze 4.0. Navrhne aplikace Internet Explorer 4.0restartování počítače a načíst nové knihovny DLL během restartování počítače.
Odkazy
Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
167158 Jak ovládací prvky MFC balíček pro použití v síti Internet
167597 Určení verze souboru Msnmsgr.exe a pole # Version pro stahování součástí

Další informace naleznete na následující webové vysílání:

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 165075 - Poslední kontrola: 09/28/2011 05:26:00 - Revize: 4.0

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

  • kbcode kbdownload kbfaq kbhowto kbmt KB165075 KbMtcs
Váš názor
/html>html>