Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Cara men-Download ketergantungan dll di Internet Explorer dengan .inf File

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:165075
RINGKASAN
Hal ini sering diperlukan untuk men-download ketergantungan dll bersama dengan ActiveXKontrol. Kontrol MFC dan Visual Basic memiliki persyaratan ini. Artikel iniakan menjelaskan tiga cara bahwa Anda dapat melakukan hal ini.
INFORMASI LEBIH LANJUT
Ada tiga cara untuk memasukkan dll tergantung di download untukkontrol. Cara pertama adalah untuk menyertakan DLL(s) dalam berkas CAB untukmengontrol bersama dengan OCX dan INF file. Kelemahan dari hal ini adalah bahwaDLL akan di-download setiap saat kontrol di-download. Dalam beberapa kasus,ini tepat. Cara berikutnya adalah untuk paket DLL(s) tergantung padaCAB file yang terpisah dan merujuk kepada yang dalam file INF untuk kontrol. Thecara ketiga juga paket DLL di file CAB terpisah tetapi berkas CABdisebutkan dalam file INF kontrol dengan kait. Menggunakan kait yang memungkinkanproses download untuk melaksanakan INF atau EXE file yang terdapat dalam bergantungCAB file.

Untuk menambahkan sebuah dependensi untuk OCX (Simpdll.dll dalam contoh ini), bagianmirip dengan bagian untuk kontrol ditambahkan ke bagian [AddCode]INF file:
   [Add.Code]   TestDw.ocx=TestDw.ocx   simpdll.dll=simpdll.dll				
Bagian kemudian ditambahkan ke file INF untuk mengontrol instalasiDLL:
   [simpdll.dll]   FileVersion=1,0,0,1   file-win32-x86=thiscab				
Ini adalah cara pertama yang disebutkan untuk menyertakan ketergantungan DLL di download.

Untuk memasukkan DLL di file CAB terpisah, semua yang diperlukan untukmengubah lokasi dari "thiscab" ke URL di mana tergantung CABakan berlokasi:
file-Win32-x86=http://www.contoso.com/Controls/Dependent.Cab
Dalam kasus ini, Simpdll.cab berisi hanya simpdll.dll.

Beberapa dll dapat ditambahkan ke file INF dan TAKSI di atas jika diperlukan.

Cara ketiga untuk paket tergantung dll adalah untuk merujuk DLL tergantung CAB file menggunakan kait. Dengan teknik ini, INF atau EXE file dalamtergantung CAB dapat dijalankan di download.

Bagian berikut dari berkas .inf kontrol DLL download ketergantunganuntuk Kontrol 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				
Dalam kasus ini, dll MFC dikemas dalam berkas .exe file,yang terdapat dalam berkas .cab (mfc42.cab). Namun, alat-alat untuk membuatberkas .exe file tidak saat ini tersedia dari Microsoft.Oleh karena itu, Anda akan baik perlu paket dll tergantung dengan berkas .infatau referensi berkas .inf di hook instalasi:
   [yourinstaller]   file-win32-x86=http://example.microsoft.com/simpdll.cab   InfFile=your.inf				
Atau, Anda akan perlu untuk membangun diri yang mengekstrak file EXE yang menggunakan pihak ketigaalat-alat.

Untuk mengilustrasikan, berikut ini adalah berkas .inf yang digunakan untuk menginstal tergantungMFC dll. Anda dapat mengubah ini untuk menginstal dll Anda sendiri dengan cara yang samabahwa MFC dll diinstal.
   ; ========================= 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 ======================				
DLL perlu terdaftar di bagian .register jika itu eksporDllRegisterServer fungsi. Ini dapat ditentukan dengan memeriksa DLLdengan utilitas Dumpbin.exe Visual C compiler. Anda juga dapat menjalankanRegsvr32 pada DLL, yang mencoba untuk mendaftarkan DLL. Regsvr32 bebanDLL, memverifikasi bahwa DllRegisterServer benar diekspor dengan meneleponGetProcAddress() fungsi DLLRegisterServer. Jika berhasil,fungsi DllRegisterServer diekspor dan kemudian disebut.

Berhati-hatilah, bagaimanapun, bahwa berjalan Regsvr32 pada DLL mungkin tidak diinginkanefek samping. Ketika DllRegisterServer disebut, membuat sesuaientri registri yang menunjuk ke lokasi DLL pada mesin. Sebagai contoh,mengetik perintah berikut pada prompt MS-DOS, untuk tujuan pengujian, dapat menyebabkanmasalah:
   copy mfc42.dll C:\Test   run "D:\msdev\bin\REGSVR32.EXE C:\Test\mfc42.dll"   delete mfc42.dll				
Saat berikutnya sistem mencoba untuk mencari Mfc42.dll, mendongakregistri, menemukan bahwa berkas dipetakan ke C:\Test\Mfc42.dll, dan tidakmenemukan ada. Menjalankan Regsvr32 pada file yang sudah diinstal padamesin tidak menyebabkan masalah.

Menginstal DLL dengan kait dan self mengekstrak EXE berguna untukSetelah alasan: Jika DLL yang perlu ditingkatkan sudah dibuka dimemori, download akan gagal. Ini adalah masalah yang diketahui, yang telahtetap di dalam Internet Explorer versi 4.0. Internet Explorer 4.0 akan menyarankanreboot dan beban DLL yang baru selama reboot.
REFERENSI
Untuk informasi tambahan, silakan lihat artikel berikut pada Basis Pengetahuan Microsoft:
167158 Bagaimana Kontrol MFC paket untuk digunakan melalui Internet
167597 Menetapkan FileVersion dan #Version untuk di-Download komponen

Untuk informasi lebih lanjut, lihat Webcast berikut:

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 165075 - Tinjauan Terakhir: 09/15/2011 10:28:00 - Revisi: 2.0

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

  • kbcode kbdownload kbfaq kbhowto kbmt KB165075 KbMtid
Tanggapan
>