Một trong những lỗi phổ biến hay gặp nhất khi cài ứng dụng hoặc game trên Windows là thiếu file DLL. DLL là viết tắt của Dynamic Link Library, dịch nôm na là một file thư viện chứa các hàm, câu lệnh để phục vụ cho việc chạy các ứng dụng cho Windows. DLL có thể dùng chung cho nhiều ứng dụng khác nhau, vì vậy khi gặp lỗi này thì chúng ta thường lên mạng tải nó về máy để tiếp tục sử dụng. Dưới đây là tổng hợp những lỗi DLL mà chúng ta thường gặp, và cách để khắc phục nó để anh em tham khảo.
MSVCP140, MSVCP120, MSVCP110, và MSVCP100
Cả 4 cái tên trên đều là các phiên bản của cùng một DLL ( 14.0, 10.0, vv...vv ). MSVC là viết tắt của Microsoft Visual C++, đây là một format rất thông dụng cho các ứng dụng của Windows. Nếu để ý trong mục Uninstall của Control Panel, chúng ta có thể thấy rất nhiều mục có tên kiểu "Microsoft Visual C++ 20xx Redistributable". Khi cần cài một ứng dụng nào đó thì thường nó sẽ yêu cầu phải có những phần này trước, nếu không sẽ không hoạt động. Vì được sử dụng cho rất nhiều ứng dụng nên đây cũng là một trong những vấn đề phổ biến khi bị báo lỗi, có thể kể đến như khi sử dụng các ứng dụng hệ thống như Skype, Notepad, các games....
MSVCR100, MSVCR71
Các tệp này chứa thư viện của ngôn ngữ lập trình C++, vì thế nó được yêu cầu khi chạy các ứng dụng viết bằng ngôn ngữ này. 100 và 71 cũng là hai phiên bản của DLL này, và có thể nói đây là hai phiên bản dễ gặp lỗi nhất. Tìm trên Google MSVCR là hiện hàng hà sa số các lỗi của hai phiên bản này.
VCRUNTIME140
Đây là một loại DLL khác có liên quan tới hai cái kể trên. Ở Visual C++ từ phiên bản 7 tới 13, họ sử dụng cái tên khác nhau cho mỗi phiên bản, kết quả là ta có hai loại kể trên. Từ phiên bản 14, ứng dụng phải liên kết tới DLL mới tên là VCRUNTIME. VCRUNTIME140 là phiên bản hay gặp lỗi nhất của dạng này. Lỗi này thường xảy ra khi dùng Kodi, hoặc Adobe Creative Cloud.
D3DX9_43
DX ở đây là viết tắt cho Direct X, một tập hợp của các API để hệ thống có thể chạy các trò chơi và các ứng dụng đa phương tiện. 43 ở đây đại diện cho phiên bản thứ 43, nên chúng ta cũng có thể gặp những con số khác cho lỗi DLL này. Lỗi này sẽ thường xuyên gặp phải khi chơi các game, trò chơi điện tử trên máy.
Lame_enc
Lame không phải mang ý nghĩa chửi PC của anh em ( lame tiếng Anh mang ý nghĩa xúc phạm ). Nó đề cập tới một bộ mã hoá LAME, cho phép các ứng dụng âm thanh có thể chuyển đổi sang MP3. Do vấn đề liên quan đến bằng sáng chế nên các ứng dụng hợp pháp không bao gồm bộ mã hoá MP3, vì vậy nếu chơi các ứng dụng âm thanh như Audacity, chúng ta phải tự cài DLL này. Đa số lỗi này xuất hiện khi dùng Audacity, nhưng nó cũng có thể xảy ra khi tải hoặc lưu file Mp3. Vì vậy nếu dùng phần mềm trên mà xuất hiện lỗi thì bạn hãy cài Lame vào máy là mọi thứ lại trơn tru ngay.
NTDLL
Có thể coi đây là lỗi nghiêm trọng nhất trong bài viết này cũng được NTDLL là một tập tin xử lý các chức năng của nhân NT ( NT kernel ). NT ở đây là New Technology ( Công nghệ mới ), cũng đã từng có một phiên bản Windows tên là NT.
Lỗi này xảy ra khi có sự xung đột các ứng dụng với hệ thống Windows. Tập tin này xử lý các chức năng hệ thống ở cấp độ thấp, nên nếu xảy ra có thể làm cho bạn không thể boot vào Windows luôn.
Một số cách khắc phục liên quan tới DLL
Chúng ta có thể đi theo trình tự như hình bên dưới đây mình liệt kê ra:
Bước 0: Anh em không nên manh động những gì?
Chúng ta RẤT không nên tải các file DLL từ trên mạng về. Thói quen nhiều anh em là khi bị báo thiếu file nào thì nhảy lên Google tìm tải file đó về, rất "sâm lài". Lý do là chúng ta không thể biết rõ nguồn gốc của nó như thế nào. Liệu có dính virus hay mã độc không, hoặc file dll đó có thể đã cũ, lỗi thời. Bên cạnh đó, việc thay thế dll chỉ là một giải pháp tạm thời, có khi còn không giải quyết được vấn đề. Mặt khác, chúng ta cũng không nên vọc quá sâu trong Windows Registry, vì có khi không giải quyết được, lại còn nảy sinh một tá lỗi khác thì khổ.
Bước 1: Khởi động lại
Kinh điển, đơn giản, và dường như là bước căn bản nhất. Gặp lỗi là khởi động lại, có khi lại giúp giải quyết vấn đề. Có thể trong quá trình cài đặt anh em dính lỗi nào đó, khởi động lại sẽ xoá lỗi đó đi. Vì vậy, bình tĩnh, lưu tác vụ lại và reboot để xem có hết không.
Bước 2: Kiểm tra xem thiếu DLL nào? Liệu bạn có xoá chúng?
Mặc dùng các file DLL thường được bảo vệ kĩ, tuy nhiên nhiều anh em hay xoá file vẫn có khả năng cao là xoá nhầm. Trong trường hợp này, kiểm tra Thùng rác xem bạn có xoá nó đi mất không, nếu có thì hãy khôi phục lại. Nếu bạn nghĩ bạn xoá nhưng xui xẻo là đã làm trống thùng rác rồi thì hãy dùng một số phần mềm chuyên khôi phục dữ liệu để cứu.
Bước 3: Cài các bản cập nhật Windows
Vì có nhiều DLL liên quan tới Microsoft-distributed, nên việc cập nhật có thể giải quyết vấn đề này. Bước này đặc biệt quan trọng cho những ai tắt cập nhật, hoặc lâu rồi chưa cập nhật. Sau khi cập nhật, tiến hành khởi động lại xem liệu đã giải quyết được chưa. Nếu chưa thì qua bước thứ 4
Bước 4: Cài lại ứng dụng
Nhớ hồi lớp 8, mình chơi Assassin cũng bị thiếu DLL nên báo lỗi, lúc đó chả biết gì nên xoá cài lại thì hết bị. Có điều nếu một ứng dụng nặng quá mà cài lại thì cũng hơi mệt, nên mình để giải pháp này ở bước 4. Có thể là do quá trình cài đặt xảy ra lỗi nên hệ thống bị thiếu file, cài lại cẩn trọng hơn có thể giải quyết vấn đề này.
Bước 5: Cập nhật Driver
Nếu bạn đang làm một hành động nào đó liên quan tới phần cứng mà bị báo lỗi, ví dụ như bị báo lỗi khi đang cố in bằng máy in. Lúc này hãy thử cập nhật các driver liên quan tới phần cứng.
Bước 6: tận dụng System file checker
Công cụ này của Windows cho phép check file hệ thống và sửa nếu chúng bị thiếu hoặc hư hỏng. Để làm bước này: Vào menu Start, gõ cmd, chọn chuột phải và ấn Run as Administrator, enter. Sau đó ghi dòng này vào CMD:
Code:
[I]sfc /scannow[/I]
Nó sẽ tốn vài phút cuộc đời, nên khi thao tác bước này thì có thể tranh thủ làm việc khác trong lúc hệ thống quét, khi quét xong nó sẽ thông báo những vấn đề mà nó gặp phải.
Bước 7: Kiểm tra malware
Một số DLL có thể bị hỏng do các phần mềm độc, hãy dùng những công cụ quét uy tín để kiểm tra nhé. Nếu có malware thì diệt nó đi.
Bước 8: Register lại DLL
Tới bước này, chúng ta sẽ cố unregister và re-register lại DLL trong hệ thống ( mình không biết nên dịch sát nghĩa như thế nào ). Windows sẽ "quên" tệp DLL đó trong một thời gian, sau đó sẽ thiết lập lại DLL, cách này có thể giải quyết tốt vấn đề. Tương tự như cách 6, gõ 2 dòng code sau vào CMD cùng 1 lúc:
Code:
[I]regsvr32 /u TênDLL.dll regsvr32 TênDLL.dll[/I]
Bước 9: Restore lại hệ thống
Trên điện thoại chúng ta thường tạo Backup lại để restore khi bị lỗi, tuy nhiên mình thấy ít anh em làm điều này trên máy tính. Tuy nhiên các này hiệu quả đấy. Nó sẽ đưa hệ thống lại về một thời điểm cụ thể nào đó ở quá khứ khi chưa xảy ra lỗi.
Gõ tìm Control Panel vào Start Menu, chọn Recovery. Tại đây , chọn Open System Restore. Làm theo các bước hướng dẫn của công cụ để hoàn thành.
Bước 10: Reset lại Windows
Nếu cả 9 bước trên không hiệu quả thì đành phải dùng cách này mà thôi. May mắn là chức năng reset có thể cài lại một bản Windows mới sạch sẽ cho máy tính mà vẫn cho phép giữ lại data, không bị mất đi. Hy vọng cách này sẽ giải quyết hoàn toàn không chỉ vấn đề về DLL mà còn các vấn đề khác hiện hữu trên máy tính của anh em.
Mời anh em chia sẻ các lỗi mà mình hay gặp nhất cũng như các cách khắc phục hiệu quả, đơn giản, để mọi người cùng tham khảo.
Tham khảo: MakeUseOf