Apakah Fail DLL, dan Mengapa Satu Hilang dari PC Saya?

Apabila anda mendapat ralat mengatakan bahawa Windows tidak dapat mencari fail DLL tertentu, sangat menggoda untuk memuat turun fail dari salah satu daripada banyak laman DLL di luar sana. Inilah sebabnya mengapa anda tidak boleh.

Apa itu DLL?

BERKAITAN: Apa itu rundll32.exe dan Mengapa Ia Berjalan?

Sebelum kita memulakan mengapa anda tidak harus memuat turun fail Dynamic Link Library (DLL) dari Internet, mari kita lihat dulu fail DLL apa. Fail DLL adalah pustaka yang mengandungi sekumpulan kod dan data untuk menjalankan aktiviti tertentu di Windows. Aplikasi kemudian boleh memanggil fail DLL tersebut ketika mereka memerlukan aktiviti tersebut. Fail DLL sama seperti fail boleh laku (EXE), kecuali bahawa fail DLL tidak dapat dijalankan secara langsung di Windows. Dengan kata lain, anda tidak boleh mengklik dua kali fail DLL untuk menjalankannya dengan cara yang sama seperti fail EXE. Sebaliknya, fail DLL direka untuk dipanggil oleh aplikasi lain. Sebenarnya, ia dirancang untuk dipanggil oleh banyak aplikasi sekaligus. Bahagian "pautan" dari nama DLL juga menunjukkan aspek penting yang lain. Beberapa DLL boleh dihubungkan bersama sehingga apabila satu DLL dipanggil,sebilangan DLL lain juga dipanggil pada masa yang sama.

Windows sendiri menggunakan DLL secara meluas, kerana lawatan ke C:\Windows\System32folder dapat memberitahu anda. Sebagai contoh dari apa yang kita bicarakan, mari kita mempertimbangkan fail sistem Windows "comdlg32.dll." Fail ini, atau dikenali sebagai Perpustakaan Kotak Dialog Umum, mengandungi kod dan data untuk membina banyak kotak dialog biasa yang anda lihat di Windows — dialog untuk perkara seperti membuka fail, mencetak dokumen, dan sebagainya. Arahan dalam DLL ini menangani segalanya dari menerima dan menafsirkan mesej yang dimaksudkan untuk kotak dialog hingga menentukan bagaimana kotak dialog kelihatan di skrin anda. Jelas, banyak aplikasi boleh menggunakan DLL ini pada masa yang sama, jika tidak, anda tidak dapat membuka kotak dialog (seperti yang ada di bawah) di lebih dari satu aplikasi pada satu masa.

DLL membolehkan kod dimodulasi dan digunakan kembali, yang bermaksud bahawa pembangun tidak perlu menghabiskan masa menulis kod dari awal untuk melakukan fungsi biasa atau biasa. Dan walaupun pembangun akan membuat DLL mereka sendiri untuk dipasang dengan aplikasinya, sebahagian besar DLL yang dipanggil oleh aplikasi sebenarnya digabungkan dengan Windows atau dengan pakej tambahan, seperti Microsoft .NET Framework atau Microsoft C ++ Redistributables. Kelebihan besar lain dari memodulasi kod dengan cara ini adalah bahawa kemas kini lebih mudah diterapkan pada setiap DLL daripada pada keseluruhan aplikasi — terutama ketika DLL tersebut bukan berasal dari pembangun aplikasi. Sebagai contoh, apabila Microsoft mengemas kini DLL tertentu dalam Rangka Kerja .NET, semua aplikasi yang menggunakan DLL tersebut dapat segera memanfaatkan keselamatan atau fungsi yang dikemas kini.

BERKAITAN: Apakah Rangka Kerja Microsoft .NET, dan Mengapa Dipasang di PC Saya?

DLL yang dimuat turun mungkin ketinggalan zaman

Oleh itu, dengan sedikit pemahaman mengenai DLL di bawah tali pusat kami, mengapa tidak memuat turunnya dari Internet apabila ada yang hilang dari sistem anda?

Masalah yang paling biasa anda hadapi dengan DLL yang dimuat turun ialah masalahnya sudah usang. Sebilangan besar laman DLL di luar sana mendapatkan DLL dengan hanya memuat naiknya dari komputer mereka sendiri atau pengguna mereka. Anda mungkin sudah dapat melihat masalahnya. Sebilangan besar laman web ini hanya menginginkan lalu lintas anda, dan setelah DLL dimuat, mereka tidak mempunyai banyak insentif untuk memastikan fail tersebut sentiasa dikemas kini. Tambahkan ke ini bahawa vendor biasanya tidak melepaskan DLL yang dikemas kini kepada umum sebagai fail individu, dan anda dapat melihat bahawa bahkan laman web yang cuba mengemas kini  fail tidak mungkin sangat berjaya.

Terdapat juga masalah selanjutnya bahawa DLL biasanya disatukan ke dalam pakej. Kemas kini ke satu DLL dalam pakej sering kali disertakan dengan kemas kini ke DLL lain yang berkaitan dalam pakej yang sama, yang bermaksud bahawa walaupun dalam keadaan tidak mungkin anda mendapat fail DLL yang terkini, anda tidak akan mendapat fail berkaitan yang juga mempunyai telah dikemas kini.

DLL yang dimuat turun boleh dijangkiti

Walaupun jarang berlaku, masalah yang berpotensi menjadi lebih teruk ialah DLL yang anda muat turun dari sumber selain vendor kadang-kadang boleh dimuat dengan virus atau perisian hasad lain yang boleh menjangkiti PC anda. Perkara ini berlaku terutamanya di laman web yang tidak terlalu berhati-hati di mana mereka mendapatkan fail mereka. Dan laman web seperti itu tidak akan memberitahu anda tentang sumber berisiko mereka. Bahagian yang sangat menakutkan adalah bahawa jika anda memuat turun fail DLL yang dijangkiti, anda berisiko — oleh hakikatnya fail DLL — memberikan akses yang lebih dalam daripada fail yang dijangkiti biasa.

BERKAITAN: Apakah Antivirus Terbaik untuk Windows 10? (Adakah Windows Defender Cukup Baik?)

Berita baik di sini adalah bahawa aplikasi antivirus masa nyata yang baik biasanya dapat mengesan fail DLL yang dijangkiti ini sebelum disimpan ke sistem anda dan menghalangnya daripada melakukan kerosakan. Namun, anda mesti ingat bahawa walaupun program antivirus yang hebat mungkin tidak memberikan anda perlindungan yang sempurna. Sekiranya anda terbiasa memuat turun fail berisiko, kemungkinan anda akan menghubungi anda pada suatu ketika. Sebaiknya elakkan laman DLL ini.

Mereka Mungkin Tidak Akan Menyelesaikan Masalah Anda

Walaupun hanya satu fail DLL di PC anda yang rosak atau dihapuskan, kemungkinan DLL lain atau fail aplikasi yang berkaitan juga rosak atau hilang. Sebab anda mendapat ralat mengenai satu fail tertentu adalah kesalahan pertama yang dihadapi aplikasi sebelum terhempas dan anda tidak diberitahu yang lain. Ini boleh berlaku tanpa mengira punca masalah.

BERKAITAN: Sektor Buruk Dijelaskan: Mengapa Pemacu Keras Mendapat Sektor Buruk dan Apa Yang Boleh Anda Lakukan Mengenainya

Mengapa DLL hilang atau rosak? Mungkin aplikasi atau kemas kini yang salah cuba mengganti fail dan gagal, atau menggantinya dengan salinan usang. Mungkin kesalahan dalam pemasangan aplikasi utama anda atau dalam pakej seperti .NET. Mungkin anda menghadapi masalah lain - seperti sektor buruk pada cakera keras anda - yang menghalang fail memuat dengan betul.

Bagaimana Saya Boleh Memperbaiki Kesalahan DLL Saya?

Satu-satunya cara untuk memastikan anda mendapat DLL yang stabil, terkini dan bersih adalah mendapatkannya melalui sumber dari mana asalnya. Biasanya, sumber itu adalah:

BERKAITAN: Cara Mengimbas (dan Memperbaiki) Fail Sistem yang rosak di Windows

  • Media pemasangan Windows anda . Tidak mungkin anda hanya dapat menyalin fail DLL dari media pemasangan anda, tetapi anda mempunyai pilihan cepat untuk mencuba sebelum melakukan sesuatu yang drastik seperti memasang semula Windows. Anda boleh menggunakan alat Perlindungan Sumber Windows (sering disebut sebagai pemeriksa fail sistem, atau SFC), yang akan mengimbas dan memperbaiki fail sistem yang rosak atau hilang di Windows. Anda harus menggunakan media pemasangan anda semasa menjalankan alat, sekiranya perlu menyalin fail dari sana. (Sekiranya anda tidak mempunyai cakera pemasangan, anda boleh memuat turunnya di sini.)
  • Pakej Rangka Kerja Microsoft .NET . Beberapa versi .NET dipasang secara automatik bersama dengan Windows, dan banyak aplikasi juga memasang fail dari pakej tersebut juga. Anda boleh membaca artikel kami mengenai kerangka .NET, yang juga mempunyai beberapa nasihat untuk mencari dan memperbaiki masalah yang berkaitan.
  • Pelbagai pakej Microsoft Visual C ++ yang dapat diedarkan semula . Bergantung pada aplikasi yang anda gunakan, anda mungkin mempunyai beberapa versi C ++ Redistributable yang dipasang di PC anda. Kadang-kadang sukar untuk mempersempit mana yang menjadi pelakunya, tetapi tempat yang baik untuk memulakan adalah artikel kami mengenai C ++ Redistributables, yang juga mempunyai beberapa langkah penyelesaian masalah dan pautan di mana anda boleh memuat turun versi paling terkini terus dari Microsoft.
  • Aplikasi yang disertakan dengan DLL . Sekiranya DLL dipasang bersama-sama dengan aplikasi dan bukannya menjadi sebahagian daripada pakej yang berasingan, pertaruhan terbaik anda ialah memasang semula aplikasi. Beberapa aplikasi membolehkan anda melakukan pembaikan dan bukannya pemasangan semula sepenuhnya. Salah satu pilihan mesti berfungsi, kerana pembaikan biasanya mencari fail yang hilang di folder pemasangan.

Sekiranya semuanya gagal, anda mungkin dapat menghubungi vendor aplikasi dan meminta salinan fail DLL individu. Beberapa syarikat terbuka untuk permintaan ini; ada yang tidak. Sekiranya anda menghadapi syarikat yang tidak akan menyediakan fail individu, sekurang-kurangnya mereka mungkin dapat memberikan cadangan lain untuk menyelesaikan masalah anda.