Thông thường, DLL không được cài đặt như một chương trình riêng. Nếu Windows báo thiếu tệp, cách đúng phụ thuộc vào thành phần cần cung cấp tệp đó: chính chương trình, Visual C++ Redistributable, DirectX hoặc Windows. Đừng bắt đầu bằng việc tải tệp xuống rồi sao chép vào thư mục hệ thống. Hướng dẫn này có ba cách thực tế: khôi phục thành phần cung cấp tệp, kiểm tra Windows và chẩn đoán DLL. Sau mỗi phương pháp, hãy kiểm tra việc khởi chạy đúng chương trình hoặc trò chơi đã gặp lỗi.

Có cần cài đặt DLL thủ công không?

DLL là thư viện mà ứng dụng tải cùng các thành phần phụ thuộc; đây không phải gói cài đặt dùng chung. Vì vậy, cách làm «tải xxx.dll rồi đặt vào System32 » thường không giải quyết được nguyên nhân. Tệp có thể cần các DLL khác, không khớp với phiên bản ứng dụng hoặc có kiến trúc khác.

Nội dung cần cài đặt Cách an toàn
DLL của một chương trình cụ thể Cài lại chương trình từ nguồn chính thức
vcruntime , msvcp , msvcr Cài đặt hoặc khôi phục Microsoft Visual C++ Redistributable tương ứng
d3dx9 , xinput , d3dcompiler Khôi phục thành phần DirectX chính thức hoặc cài lại trò chơi
DLL hệ thống Windows Chạy DISM, sau đó là SFC
DLL riêng do nhà phát triển cung cấp Tuân thủ chính xác tài liệu của nhà phát triển
DLL không rõ nguồn gốc trên Internet Không cài đặt thủ công

Cách cài đặt DLL: so sánh nhanh các phương pháp

Phương pháp Phù hợp nhất với Hiệu quả Công sức người dùng
Cài thành phần hoặc cài lại chương trình Lỗi trong một ứng dụng hoặc tên thư viện đã biết Cao khi xác định đúng thành phần Thấp
DISM và SFC Lỗi trong nhiều chương trình và DLL hệ thống Cao đối với các thành phần Windows Trung bình
Fionn DLL Fixer Không rõ nguyên nhân hoặc cần kiểm tra DLL và thành phần phụ thuộc Chẩn đoán và khắc phục tự động Thấp

Phương pháp 1: cài thành phần hoặc cài lại chương trình

Khi nào nên dùng: lỗi chỉ xuất hiện trong một chương trình hoặc tên tệp cho thấy một môi trường thời gian chạy quen thuộc. Ví dụ, với vcruntime140.dll đừng tìm tệp riêng lẻ: hãy cài đặt hoặc khôi phục Microsoft Visual C++ Redistributable. Với d3dx9 , xinput và d3dcompiler , hãy sử dụng trình cài đặt chính thức của trò chơi hoặc thành phần DirectX chính thức.

  1. Ghi lại tên đầy đủ của DLL và tên chương trình từ thông báo lỗi.
  2. Nếu lỗi chỉ liên quan đến một chương trình, hãy mở Cài đặt → Ứng dụng → Ứng dụng đã cài đặt .
    Cửa sổ ứng dụng và tính năng của Windows
  3. Gỡ cài đặt chương trình gặp lỗi hoặc sử dụng chức năng khôi phục chính thức của chương trình nếu có.
  4. Chỉ tải trình cài đặt từ trang chính thức của nhà phát triển hoặc cửa hàng nơi bạn đã nhận chương trình.
  5. Cài đặt lại chương trình hoặc thành phần mà chương trình chỉ định, rồi khởi chạy lại.

Kiểm tra: chương trình khởi chạy mà không có thông báo «không tìm thấy DLL». Nếu trình cài đặt vẫn yêu cầu cùng tệp đó, hãy kiểm tra xem bạn đã chọn phiên bản thành phần đúng với kiến trúc ứng dụng chưa — x86 cho chương trình 32 bit và x64 cho chương trình 64 bit.

Cài DLL ở đâu: System32 hay SysWOW64?

Đừng chọn thư mục chỉ dựa trên tên của nó. Trên Windows 64 bit, System32 chứa các thư viện hệ thống 64 bit, còn SysWOW64 chứa các thư viện 32 bit; tên gọi này có vẻ ngược do lịch sử. Tuy nhiên, Windows không tìm DLL trong chỉ một thư mục cố định: thư mục ứng dụng, thư mục hệ thống và các đường dẫn tìm kiếm được phép khác đều tham gia. Ngoài ra, DLL cũng có thể phụ thuộc vào các thư viện khác.

Có cần đăng ký DLL qua regsvr32 không?

Không, không phải mặc định. regsvr32 không phải là trình cài đặt DLL: công cụ này chỉ hoạt động với DLL và OCX hỗ trợ cơ chế tự đăng ký tương ứng. Lỗi thiếu DLL thông thường không có nghĩa là cần đăng ký. Chỉ sử dụng regsvr32 khi nhà phát triển chương trình hoặc tài liệu chính thức của họ yêu cầu rõ ràng việc đăng ký một tệp cụ thể và cung cấp lệnh phù hợp.

Phương pháp 2: khôi phục tệp hệ thống Windows

Khi nào nên dùng: các lỗi giống nhau xảy ra trong nhiều chương trình không liên quan, sau sự cố Windows hoặc khi nghi ngờ thành phần hệ thống bị hỏng. Microsoft khuyến nghị chạy DISM trước, sau đó là SFC.

Lệnh DISM.exe Online Cleanup Image Restorehealth
  1. Mở Windows Terminal (Quản trị viên) .
  2. Chạy lệnh sau và chờ hoàn tất:
    DISM.exe /Online /Cleanup-image /Restorehealth
        
  3. Sau DISM, chạy lệnh tiếp theo:
sfc /scannow
  
  1. Khởi động lại máy tính nếu Windows thông báo đã sửa các tệp.
  2. Khởi chạy lại ứng dụng gặp lỗi.

Kiểm tra: SFC hoàn tất quá trình quét và báo kết quả, đồng thời ứng dụng mở mà không còn lỗi trước đó. Chi tiết có trong hướng dẫn của Microsoft về SFC và DISM .

Phương pháp 3: kiểm tra DLL và thành phần hệ thống bằng Fionn DLL Fixer

Khi nào nên dùng: cần chẩn đoán DLL bị thiếu, hỏng hoặc không tương thích, các vấn đề với System32 hay thành phần phụ thuộc DirectX, Visual C++, .NET, OpenAL và XInput, trong khi việc xác định thành phần thủ công tốn nhiều thời gian. Fionn DLL Fixer dành cho Windows hỗ trợ quét, khắc phục và kiểm tra lại.

  1. Khởi chạy Fionn DLL Fixer và chờ quá trình quét tự động DLL cùng các vấn đề hệ thống hoàn tất. Khởi chạy Fionn DLL Fixer
  2. Sau khi quét xong, nhấp Repair để bắt đầu khắc phục các vấn đề đã phát hiện. Sau khi quét xong, nhấp vào "Repair" để tự động bắt đầu khắc phục mọi vấn đề DLL và hệ thống đã phát hiện
  3. Chờ quá trình hoàn tất; trong khi xử lý, nút hiển thị Fixing . Chờ trong khi quá trình khắc phục đang diễn ra
  4. Trong hộp thoại xác nhận, nhấp Ok ; khởi động lại máy tính nếu được yêu cầu. Khi quá trình khắc phục hoàn tất, nhấp "Ok" trong hộp thoại xác nhận
  5. Nếu lỗi vẫn còn sau khi khởi động lại, nhấp Recheck ; nếu phát hiện vấn đề mới, hãy chọn lại Repair . Nếu sự cố vẫn tiếp diễn sau khi khởi động lại, nhấp "Recheck" để thực hiện lần quét khác

Kiểm tra: lần quét lại không hiển thị vấn đề cũ và ứng dụng khởi chạy được. Phương pháp này đơn giản hóa việc chẩn đoán, nhưng không thay thế việc cài lại một chương trình cụ thể nếu các tệp riêng của chương trình đó bị hỏng.

Kết luận

Để cài đặt DLL đúng cách, trước tiên hãy xác định thành phần cung cấp thư viện thay vì chọn thư mục cho một tệp riêng lẻ. Khi lỗi xảy ra ở một chương trình, hãy cài lại chương trình đó hoặc môi trường thời gian chạy chính thức; khi lỗi hệ thống xuất hiện trong nhiều chương trình, hãy chạy DISM rồi SFC. Nếu không rõ nguồn gốc lỗi và cần kiểm tra DLL, đường dẫn hệ thống cùng thành phần phụ thuộc của trò chơi, hãy dùng Fionn DLL Fixer . Kết quả chỉ được xác nhận khi chương trình gặp lỗi khởi chạy thành công. Nếu thông báo không thay đổi, hãy lưu toàn bộ nội dung thông báo và liên hệ bộ phận hỗ trợ chính thức của nhà phát triển.

Câu hỏi thường gặp

Có thể đặt DLL vào thư mục chương trình không?

Chỉ khi tài liệu chính thức của nhà phát triển yêu cầu rõ điều đó cho phiên bản chương trình cụ thể. Trong các trường hợp khác, hãy cài lại chương trình hoặc môi trường thời gian chạy của chương trình: cách này khôi phục bộ thành phần phụ thuộc tương thích.

Vì sao DLL 64 bit không tự động phải đặt trong SysWOW64?

Trên Windows 64 bit, thư mục SysWOW64 dành cho các thư viện hệ thống 32 bit. Tuy vậy, việc chọn thư mục thủ công vẫn không phải giải pháp dùng chung, vì DLL được tải theo quy tắc tìm kiếm và có thể phụ thuộc vào các tệp khác.

Khi nào cần dùng lệnh regsvr32?

Chỉ dùng cho DLL hoặc OCX có hỗ trợ tự đăng ký và theo chỉ dẫn rõ ràng của nhà phát triển. Lệnh này không khắc phục được phần lớn thông báo thiếu DLL.

Cần làm gì với vcruntime140.dll?

Hãy cài đặt hoặc khôi phục Microsoft Visual C++ Redistributable tương ứng từ nguồn chính thức, hoặc cài lại chương trình yêu cầu tệp đó. Đừng tải một tệp riêng lẻ từ danh mục không chính thức.

Có cần chạy cả DISM lẫn SFC không?

Để khôi phục tệp hệ thống, Microsoft khuyến nghị trình tự DISM rồi SFC. Các lệnh này không thay thế việc cài lại các tệp của một chương trình riêng lẻ.