Tệp DLL là gì và Tại sao một tệp bị thiếu trong PC của tôi?

Khi bạn gặp lỗi thông báo rằng Windows không thể tìm thấy một tệp DLL cụ thể, có thể rất khó để tải tệp xuống từ một trong nhiều trang web DLL ngoài đó. Đây là lý do tại sao bạn không nên.

DLL là gì?

LIÊN QUAN:Rundll32.exe là gì và tại sao nó chạy?

Trước khi chúng ta bắt đầu tìm hiểu lý do tại sao bạn không nên tải xuống tệp Thư viện liên kết động (DLL) từ Internet, trước tiên hãy xem tệp DLL là gì. Tệp DLL là một thư viện chứa một bộ mã và dữ liệu để thực hiện một hoạt động cụ thể trong Windows. Các ứng dụng sau đó có thể gọi các tệp DLL đó khi chúng cần thực hiện hoạt động đó. Tệp DLL rất giống tệp thực thi (EXE), ngoại trừ tệp DLL không thể được thực thi trực tiếp trong Windows. Nói cách khác, bạn không thể nhấp đúp vào tệp DLL để chạy nó giống như cách bạn làm với tệp EXE. Thay vào đó, các tệp DLL được thiết kế để được gọi bởi các ứng dụng khác. Trên thực tế, chúng được thiết kế để được gọi bởi nhiều ứng dụng cùng một lúc. Phần "liên kết" của tên DLL cũng gợi ý một khía cạnh quan trọng khác. Nhiều DLL có thể được liên kết với nhau để khi một DLL được gọi, một số DLL khác cũng được gọi cùng một lúc.

Bản thân Windows sử dụng rộng rãi các tệp DLL, như một chuyến tham quan qua C: \ Windows \ System32 thư mục có thể cho bạn biết. Để làm ví dụ về những gì chúng ta đang đề cập, hãy xem xét tệp hệ thống Windows “comdlg32.dll”. Tệp này, còn được gọi là Thư viện Hộp thoại Chung, chứa mã và dữ liệu để tạo nhiều hộp thoại phổ biến mà bạn thấy trong Windows — các hộp thoại cho những thứ như mở tệp, in tài liệu, v.v. Các hướng dẫn trong DLL này xử lý mọi thứ từ việc nhận và giải thích các thông báo dành cho hộp thoại đến việc chỉ định cách hộp thoại hiển thị trên màn hình của bạn. Rõ ràng, nhiều ứng dụng có thể gọi DLL này cùng một lúc, nếu không, bạn sẽ không thể mở hộp thoại (như hộp thoại bên dưới) trong nhiều ứng dụng cùng một lúc.

DLL cho phép mã được mô-đun hóa và sử dụng lại, có nghĩa là các nhà phát triển không phải mất thời gian viết mã từ đầu để thực hiện các chức năng thông thường hoặc thông thường. Và mặc dù các nhà phát triển sẽ tạo DLL của riêng họ để cài đặt với ứng dụng của họ, nhưng phần lớn các DLL được gọi bởi ứng dụng thực sự được đóng gói với Windows hoặc với các gói bổ sung, như Microsoft .NET Framework hoặc Microsoft C ++ Redistributables. Lợi thế lớn khác của việc mô-đun hóa mã theo cách này là các bản cập nhật dễ dàng áp dụng cho từng DLL hơn là cho toàn bộ ứng dụng — đặc biệt là khi các DLL đó không đến từ nhà phát triển ứng dụng. Ví dụ: khi Microsoft cập nhật một số DLL nhất định trong .NET Framework của mình, tất cả các ứng dụng sử dụng các DLL đó ngay lập tức có thể tận dụng chức năng hoặc bảo mật đã cập nhật.

LIÊN QUAN:Microsoft .NET Framework là gì và tại sao nó được cài đặt trên PC của tôi?

Các tệp DLL đã tải xuống có thể bị lỗi thời

Vì vậy, với một chút hiểu biết về DLL của chúng tôi, tại sao không tải chúng xuống từ Internet khi một tệp bị thiếu trong hệ thống của bạn?

Vấn đề phổ biến nhất mà bạn sẽ gặp phải với các tệp DLL đã tải xuống là chúng đã lỗi thời. Nhiều trang web DLL ngoài kia nhận được DLL của họ bằng cách chỉ tải chúng lên từ máy tính của họ — hoặc của người dùng —. Bạn có thể thấy vấn đề rồi. Hầu hết các trang web này chỉ muốn lưu lượng truy cập của bạn và một khi tệp DLL được tải lên, họ có rất ít động lực để đảm bảo rằng tệp được cập nhật. Thêm vào đó, các nhà cung cấp thường không phát hành các tệp DLL đã cập nhật cho công chúng dưới dạng các tệp riêng lẻ và bạn có thể thấy rằng ngay cả các trang webthử để giữ cho các tệp được cập nhật thường không thành công lắm.

Ngoài ra còn có một vấn đề nữa là các tệp DLL thường được tích hợp vào các gói. Bản cập nhật cho một DLL trong một gói thường đi kèm với các bản cập nhật cho các DLL khác có liên quan trong cùng một gói, có nghĩa là ngay cả trong trường hợp không chắc bạn nhận được tệp DLL cập nhật, bạn sẽ không nhận được các tệp liên quan cũng có đã được cập nhật.

Các tệp DLL đã tải xuống có thể bị nhiễm

Mặc dù ít phổ biến hơn, nhưng một vấn đề tiềm ẩn còn tồi tệ hơn nhiều là các tệp DLL bạn tải xuống từ các nguồn không phải nhà cung cấp đôi khi có thể bị tải vi rút hoặc phần mềm độc hại khác có thể lây nhiễm sang PC của bạn. Điều này đặc biệt đúng trên các trang web không quá cẩn thận về nơi họ lấy tệp của mình. Và có vẻ như những trang web đó sẽ không cố gắng để cho bạn biết về các nguồn rủi ro của họ. Phần thực sự đáng sợ là nếu bạn tải xuống tệp DLL bị nhiễm, bạn có nguy cơ - theo bản chất của tệp DLL - cấp cho tệp đó quyền truy cập sâu hơn so với tệp bị nhiễm thông thường có thể nhận được.

LIÊN QUAN:Phần mềm chống vi-rút tốt nhất cho Windows 10 là gì? (Bộ bảo vệ Windows có đủ tốt không?)

Tin tốt ở đây là một ứng dụng chống vi-rút tốt, thời gian thực thường có thể phát hiện các tệp DLL bị nhiễm này trước khi chúng thực sự được lưu vào hệ thống của bạn và ngăn chúng gây ra bất kỳ thiệt hại nào. Tuy nhiên, bạn phải nhớ rằng ngay cả một chương trình chống vi-rút tuyệt vời cũng có thể không cung cấp cho bạn sự bảo vệ hoàn hảo. Nếu bạn có thói quen tải xuống các tệp có nguy cơ, nó có thể sẽ bắt kịp bạn vào một lúc nào đó. Tốt nhất là chỉ nên tránh các trang web DLL này.

Họ có lẽ sẽ không giải quyết được vấn đề của bạn

Mặc dù có thể chỉ một tệp DLL duy nhất trên PC của bạn bị hỏng hoặc bị xóa, nhưng nhiều khả năng các tệp DLL khác hoặc tệp ứng dụng có liên quan cũng bị hỏng hoặc bị thiếu. Lý do khiến bạn gặp lỗi đối với một tệp cụ thể là đó là lỗi đầu tiên ứng dụng gặp phải trước khi gặp sự cố và đơn giản là bạn không được thông báo về phần còn lại. Điều này có thể đúng bất kể nguyên nhân của vấn đề là gì.

LIÊN QUAN:Giải thích các vùng bị lỗi: Tại sao ổ cứng nhận được các vùng bị lỗi và bạn có thể làm gì về nó

Tại sao các tệp DLL có thể bị thiếu hoặc bị hỏng? Có thể là một ứng dụng hoặc bản cập nhật bị lỗi khác đã cố gắng thay thế tệp và không thành công hoặc thay thế nó bằng một bản sao lỗi thời. Đó có thể là lỗi trong quá trình cài đặt ứng dụng chính của bạn hoặc trong một gói như .NET. Thậm chí, có thể bạn đang gặp một vấn đề khác — chẳng hạn như các thành phần xấu trên đĩa cứng — đang ngăn tệp tải chính xác.

Làm cách nào để tôi có thể sửa lỗi DLL của mình?

Cách duy nhất để đảm bảo bạn có được một DLL ổn định, cập nhật và sạch là tải nó thông qua nguồn mà nó bắt nguồn. Thông thường, nguồn đó sẽ là:

LIÊN QUAN:Cách quét (và sửa) các tệp hệ thống bị hỏng trong Windows

  • Phương tiện cài đặt Windows của bạn. Không chắc bạn có thể chỉ cần sao chép tệp DLL từ phương tiện cài đặt của mình, nhưng bạn có một tùy chọn nhanh để thử trước khi làm điều gì đó quyết liệt như gọi lại Windows. Bạn có thể sử dụng công cụ Bảo vệ tài nguyên Windows (thường được gọi là trình kiểm tra tệp hệ thống hoặc SFC), công cụ này sẽ quét và sửa các tệp hệ thống bị hỏng hoặc bị thiếu trong Windows. Bạn nên chuẩn bị sẵn phương tiện cài đặt khi chạy công cụ, đề phòng trường hợp nó cần sao chép tệp từ đó. (Nếu bạn không có đĩa cài đặt, bạn có thể tải xuống tại đây.)
  • Các gói Microsoft .NET Framework. Một số phiên bản .NET được cài đặt tự động cùng với Windows và nhiều ứng dụng cũng cài đặt tệp từ các gói đó. Bạn có thể đọc bài viết của chúng tôi về .NET framework, cũng có một số lời khuyên để tìm và sửa chữa các sự cố liên quan.
  • Các gói Microsoft Visual C ++ Redistributable khác nhau. Tùy thuộc vào ứng dụng bạn sử dụng, bạn có thể cài đặt nhiều phiên bản C ++ Redistributable trên PC của mình. Đôi khi có thể khó xác định được nguyên nhân nào là thủ phạm, nhưng một nơi tốt để bắt đầu là bài viết của chúng tôi về C ++ Redistributables, cũng có một số bước khắc phục sự cố và liên kết nơi bạn có thể tải xuống các phiên bản cập nhật nhất trực tiếp từ Microsoft.
  • Ứng dụng mà DLL đi kèm. Nếu DLL được cài đặt cùng với một ứng dụng chứ không phải là một phần của một gói riêng biệt, cách tốt nhất của bạn là chỉ cần cài đặt lại ứng dụng. Một số ứng dụng cho phép bạn sửa chữa thay vì cài đặt lại toàn bộ. Một trong hai tùy chọn sẽ hoạt động, vì việc sửa chữa thường tìm kiếm các tệp bị thiếu trong các thư mục cài đặt.

Nếu tất cả đều không thành công, bạn có thể liên hệ với nhà cung cấp ứng dụng và yêu cầu bản sao của một tệp DLL riêng lẻ. Một số công ty sẵn sàng đáp ứng yêu cầu này; một số không. Nếu bạn gặp phải một công ty không cung cấp các tệp riêng lẻ, thì ít nhất họ cũng có thể đưa ra các đề xuất khác để giải quyết vấn đề của bạn.


$config[zx-auto] not found$config[zx-overlay] not found