Khi máy tính của bạn báo lỗi rằng Windows không thể tìm thấy một tập tin DLL cụ thể, thật sự khá tệ nếu bạn cố gắng tải về các tập tin DLL còn thiếu này ở nhiều trang web khác. Bài viết dưới đây sẽ cho bạn biết lí do tại sao bạn không nên như thế
DLL là gì?
Trước khi bắt đầu, DLL là viết tắt cho Thư viện liên kết động (Dynamic Link Library). Những tập tin này là một thư viện chứa một bộ mã và dữ liệu để thực hiện một hành động cụ thể trong Windows. Các ứng dụng sau đó có thể gọi cho những tập tin DLL này khi chúng cần thực hiện các hoạt động đó. Những tập tin DLL rất giống với các tập tin thực thi (EXE), ngoài trừ rằng các tập tin DLL không thể được thực thi trực tiếp trên Windows. Nói cách khác, bạn không thể nhấn chuột hai lần để tập tin DLL chạy giống như khi bạn chạy tập tin EXE. Thay vào đó các tập tin DLL được thiết kế để có thể được gọi bởi những ứng dụng khác. Trong thực tế, chúng được thiết kế để được gọi bởi nhiều ứng dụng trong cùng lúc. “Liên kết” (link) là một phần của cái tên của DLL nên khi một tập tin DLL được gọi, nhiều tập tin DLL khác cũng sẽ được gọi cùng một lúc.
Windows tự bản thân nó sử dụng bao quát, rộng rãi rác tập tin DLL, bạn có thể xem qua thư mục C:\Windows\System32 để có thể hiểu hơn. Lấy tập tin comdlg32.dll làm ví dụ, tập tin này còn được biết đến như là Common Dialog Box Library (Thư viện hộp thoại chung) chứa đựng mã và dữ liệu để xây dựng nhiều hộp thoại chung mà bạn thấy ở Windows. Những hộp thoại này dành cho những việc như mở tập tin, in tài liệu,… Những hướng dẫn trong tập tin DLL này xử lý tất cả các tin nhắn từ nhận cho đến phiên dịch cho phép các hộp thoại có thể trông như khi bạn nhìn thấy trên màn hình. Hiển hiên, nhiều ứng dụng có thể cùng một lúc gọi tới tập tin DLL này, nếu không bạn sẽ không thể cùng một lúc mở nhiều bảng hộp thoại mà chỉ có thể mở một bảng mà thôi.
Tập tin DLL còn cho phép các đoạn mã được mô-đun hóa và sử dụng lại, nghĩa là các nhà phát triển, các lập trình viên không cần phải mất thời gian viết code từ một vài đoạn mã ban đầu cho đến lúc trở thành một chức năng hoàn chỉnh. Và mặc dù các nhà phát triển hay các lập trình viên sẽ phải tạo các tập tun DLL của họ để cài đặt chung với các ứng dụng nhưng phần lớn các tập tin DLL được gọi bởi các ứng dụng này thực tế đi kèm với Windows hoặc các gói đi kèm như Microsoft .NET Framework hoặc Microsoft C++ Redistributables. Một ưu điểm lớn của việc mô-đun hóa code bằng cách này là việc cập nhật sẽ dễ dàng áp dụng vào từng tập tin DLL hơn là vào toàn bộ ứng dụng, đặc biệt là khi những tập tin DLL này không đi kèm từ các nhà phát triển của ứng dụng. Ví dụ như khi Microsoft cập nhật một vài tập tin DLL nhất định trong .NET Framework, tất cả các ứng dụng sử dụng những tập tin DLL này lập tức có thể tận dụng tính năng hoặc bảo mật được cập nhật.
Những tập tin DLL được tải về có thể đã lỗi thời
Vậy bạn đã hiểu được một chút về các tập tin DLL, vậy bạn đã biết tại sao không nên tải chúng về trên mạng khi một trong số chúng không được tìm thấy trong hệ thống của bạn chưa?
Vấn đề bạn thường hay mắc phải với các tập tin DLL tải về là chúng rất hay bị lỗi thời. Nhiều trang web tải về các tập tin DLL này thường hay tải lên các tập tin DLL của họ hoặc của người dùng của họ. Hầu hết các trang web này chỉ muốn thu hút lượng truy cập của bạn, khi một tập tin DLL được tải lên họ hầu như chẳng còn chút động lực gì để đảm bảo những tập tin này được cập nhật. Thêm vào đó các nhà cung cấp thường không phát hành cập nhật các tập tin DLL này như các tệp cá nhân nên bạn có thể thấy một số trang web cố gắng cập nhật thường không thành công cho lắm.
Cũng có rất nhiều những vấn đề về việc các tập tin DLL thường được tích hợp theo gói. Cập nhật các tập tin DLL này thường đi kèm theo gói, nghĩa là khi bạn cập nhật riêng lẻ một tập tin DLL thì những tập tin DLL liên quan sẽ không được cập nhật theo.
Những tập tin DLL tải về có thể gây hại
Mặc dù ít gặp hơn nhưng trường hợp này vô cùng nghiêm trọng, những tập tin DLL bạn tải về từ các nguồn không phải nhà cung cấp đôi khi chứa những con virus hoặc các malware gây hại cho máy tính của bạn. Điều này đúng với các trang không xem trọng việc an toàn hay đảm bảo tập tin được lấy từ những nguồn uy tín. Tất nhiên, hầu như chẳng có trang nào sẽ cho bạn biết nguồn gốc của những tập tin DLL này. Đáng sợ nhất là bạn vô tình tải về một tập tin DLL có kèm mã độc, bạn sẽ gặp nguy hiểm vì giống như các tập tin DLL thông thường khác, chúng sẽ có khả năng đào sâu vào trong máy tính của bạn.
Tin tốt cho bạn là thường các ứng dụng quét virus thời gian thật (real-time antivirus) thường sẽ phát hiện được những tập tin độc hại này trước khi chúng kịp lưu lại trên máy tính của bạn và ngăn hệ thống của bạn bị hư tổn. Tuy nhiên bạn vẫn phải nhớ rằng không phải các phần mềm chống virus đều cho khả năng bảo về hoàn hảo. Nếu bạn có thói quen tải những tập tin có nguy cơ cao, bạn sẽ gặp phải vấn đề này vào một thời gian nào đó. Thế nên tốt nhất là bạn hãy cứ tránh tải về các tập tin DLL từ những trang web không đảm bảo.
Có khả năng vấn đề của bạn sẽ không được giải quyết
Mặc dù chỉ có một tập tin DLL riêng lẻ bị lỗi trên máy tính của bạn, nhưng việc này hầu như sẽ dẫn đến việc các tập tin DLL hoặc các tập tin ứng dụng liên quan sẽ bị lỗi theo. Lí do mà bạn nhận được một thông báo lỗi về việc một tập tin DLL cụ thể vì đó là lỗi đầu tiên mà ứng dụng gặp phải trước khi bị lỗi và bạn chỉ đơn giản là không được nhận các thông báo lỗi còn lại.
Tại sao các tập tin DLL này có thể bị hư hỏng hoặc không tìm thấy? Có khả nang rằng một ứng dụng nào đó hay một cập nhật nào đó cố gắng thay thế tập tin này và bị lỗi, hoặc thay thế chúng bằng một phiên bản lỗi thời. Nó cũng có thể là lỗi của việc cài đặt ứng dụng chính hoặc các gói như .NET. Chúng cũng có thể là những vấn đề khác như ổ đĩa của bạn bị bad sector khiến việc tải các tập tin này không được chính xác.
Làm sao để có thể sửa những lỗi DLL?
Cách duy nhất là bạn phải đảm bảo những tập tin DLL của bạn phải ổn định, luôn được cập nhật và “sạch”. Và để đảm bảo được những yêu cầu trên bạn có thể tải chúng về từ những nơi nguồn gốc đảm bảo, về cơ bản những nguồn đó là:
- Phương tiện cài đặt Windows của bạn. Bạn hầu như không thể sao chép đơn giản một tập tin DLL từ phương tiện cài đặt nhưng bạn vẫn có một tùy chọn nhanh để thử trước khi lao vào cài lại Windows. bạn có thể dùng công cụ Windows Resourvce Protection (thường được biết đến như System File Checker – SFC). SFC sẽ quét và sửa các tập tin bị lỗi và không tìm thấy được trong Windows.
- Gói .NET Framework của Microsoft. Một vài phiên bản của .NET tự động cài đặt cùng với Windows và nhiều ứng dụng cũng cài đặt các tập tin từ các gói này. Bạn có thể tham khảo trên mạng về .NET Framework để tìm kiếm vài lời khuyên về việc tìm và sửa các lỗi liên quan.
- Nhiều gói Microsoft Visual C++ Redistributable. Phụ thuộc vào ứng dụng bạn dùng, bạn có thể có nhiều phiên bản của Microsoft Visual C++ Redistributable được cài đặt trên máy tính của bạn. Đôi khi rất khó để khoanh vùng lại nên cài đặt những phiên bản nào.
- Những ứng dụng mà các tập tin DLL đó đi kèm. Nếu tập tin DLL được cài đặt chung với ứng dụng thay vì đi theo gói riêng biệt, phương án tối ưu nhất là bạn nên cài đặt lại ứng dụng đó. Một số ứng dụng sẽ cho phép bạn sửa chữa hoặc cài đặt lại toàn bộ. Một trong hai lựa chọn này sẽ thành công vì khi chọn tùy chọn sửa chữa thì ứng dụng cũng cơ bản là tìm các tập tin còn thiếu trong trong thư mục cài đặt.
Nếu tất cả những cách trên đều không thể sửa lỗi, hãy liên hệ với nhà phát hành ứng dụng và yêu cầu một bản sao chép tập tin DLL cá nhân. Nhiều công ty đều rất sẵn lòng với những yêu cầu này, nhưng một số thì không. Đừng lo lắng, họ ít nhiều cũng sẽ gợi ý cho bạn cách giải quyết tốt nhất.