[Chia sẻ - Windows] Nên hạn chế download DLL từ trên mạng về khi bị lỗi thiếu hoặc hỏng file

[Chia sẻ - Windows] Nên hạn chế download DLL từ trên mạng về khi bị lỗi thiếu hoặc hỏng file

Một trong những lỗi phổ biến mà chúng ta thường thấy trên Windows đó là lỗi thiếu file DLL. Tình trạng này càng xảy ra nhiều hơn khi bạn cài phần mềm mới vào hoặc khi bạn mới làm lại máy tính của mình. Cách xử lý phổ biến mà mình và nhiều anh em thường làm đó là đi lên mạng kiếm file DLL này, download về rồi chép vào đúng thư mục như trong thông báo lỗi. Tuy nhiên, điều này có những mối nguy hiểm mà chúng ta không lường trước được.

Trước khi mình đề cập kĩ hơn về lý do, chúng ta hãy xem qua file DLL là gì. Dynamic Link Library là một thư viện chứa các hàm, mã lệnh và có thể có cả dữ liệu trong đó để phục vụ cho một hoặc nhiều ứng dụng khác nhau. File DLL có thể chạy cùng lúc với nhiều file DLL khác để giúp ứng dụng hoạt động đúng như những gì nó được thiết kế. Lợi ích của DLL đó là nhiều app có thể cùng xài nên giảm dung lượng cho app, đảm bảo tính đồng nhất giữa các phần mềm với nhau, và khi cập nhật thì chỉ cần update file DLL là nhiều app sẽ cùng hưởng lợi mà không cần lập trình viên phải động tay chân vào.

Bản thân Windows dùng file DLL rất nhiều nhiều. Bạn có thể ghé qua thư mục C:\Windows\System32, trong đó chứa quá trời tập tin DLL. Lấy ví dụ với file comdlg32.dll, đây là thư viện Common Dialog Box Library chịu trách nhiệm quản lý các hộp thoại phổ biến như hộp thoại mở file, hộp thoại chọn chỗ lưu file. Ngoài Windows, Word, Excel, Photoshop, Paint cũng truy cập vào comdlg32.dll để mở những hộp thoại nói trên khi chúng cần. Nếu file này bị thiếu, các ứng dụng sẽ không thể mở được hộp thoại quan trọng, tức là bạn không thể chọn file để mở được, cũng không thể lưu file vào vị trí mong muốn được.

Vậy tại sao không nên download file DLL từ trên mạng về?

Vấn đề dễ gặp, thường gặp nhất khi download file DLL từ Internet về đó là down nhầm file cũ. Nhiều ứng dụng cần file DLL mới nhất, đặc biệt là game và các phần mềm chuyên dụng, nên việc down file DLL cũ về không giúp khắc phục lỗi vì đằng nào tính năng mới mà app cần cũng không xuất hiện. Có các trang web chia sẻ DLL đầy trên Internet nhưng hầu hết đều chỉ cung cấp file cũ thôi, mình đã bị dính mấy lần rồi. Một điều đáng nói nữa đó là bản cập nhật của các file DLL thường không được phân phối theo từng file riêng lẻ, chúng sẽ được đóng gói chung và update một lần nên việc xé nhỏ ra upload lên chỉ là một cách làm tạm thời, chấp vá.

Vấn đề thứ hai đó là các file DLL thường có liên quan tới nhau, file này cần tới file kia để hoạt động và ngược lại. Khi 1 file được update, các file khác cũng có thể được cập nhật theo nên việc bạn chỉ download 1 file duy nhất có thể phát sinh thêm các lỗi không ngờ tới và càng khó khắc phục hơn.

Sua_loi_wlm-dsound-error.png

Thứ ba, các file DLL có thể bị cài mã độc vào trong đó mà bạn nhìn từ bên ngoài thì chẳng cách nào biết được. Đây là vấn nạn đã từng được cảnh báo rộng rãi, nhất là với các file download từ những trang web không lọc kĩ nguồn DLL của họ. Thứ còn nguy hiểm hơn nữa nằm ở chỗ khi bạn chép file DLL vào đúng chỗ và nó được gọi lên bởi các ứng dụng thì mã độc có thể can thiệp sâu hơn vào hệ thống so với một file chỉ bị lây nhiễm theo cách thông thường. Đừng quên các app dùng tới file DLL hoàn toàn có thể chọc sâu vào nhân của hệ điều hành vì bản chất của phần mềm Windows không giống như các phần mềm di động.

May mắn là hầu hết các phần mềm chống virus, kể cả Windows Defender, đều có khả năng phát hiện nhanh các file DLL chứa mã độc trước khi chúng chạy lên và cách ly ra khỏi hệ thống nhằm đảm bảo an toàn. Nhưng không phải vì thế mà bạn nên download file bừa bãi, biết đâu có mã độc nào đó bị khai thác mà các trình chống virus không nhận ra thì sao.

Nói tóm lại, việc download file DLL từ trên mạng về nhiều khả năng không giúp ích cho bạn mà còn đem tới nhiều nguy hiểm hơn, do đó hãy hết sức cẩn thận. Mình không nói là anh em không bao giờ được làm trò này (bởi chính mình cũng đã từng download file DLL về chép vào folder thì app chạy ngay), chỉ là mình muốn khuyên anh em cần suy nghĩ kĩ trước khi làm mà thôi.

Làm thế nào để sửa lỗi liên quan tới DLL?

Các an toàn nhất đó là lấy file DLL từ chính nguồn gốc xuất xứ của nó. Nguồn này có thể là:
Windows: hệ điều hành yêu thích của chúng ta có tính năng System File Checker. Nó có khả năng quét và tìm ra các file nào đang bị lỗi rồi sửa hoặc thay thế bằng file nguyên vẹn. Để sử dụng SFC, bạn mở Command Prompt và chạy lệnh sau: sfc /scannow

.NET Framework: một trong những nền tảng phổ biến nhất được dùng để viết ra ứng dụng và game cho Windows. Trong .NET có rất nhiều file DLL khác nhau, và khi một file bị báo lỗi thì nhiều khả năng bạn sẽ phải cài lại cả gói .NET để có được đầy đủ dữ liệu cần thiết. Bạn có thể download .NET Framework bản mới nhất ở đây, sau khi tải về thì cài vào PC.

Sua_loi_dot_Net_thieu_file_DLL.png

Microsoft Visual C++ Redistributable Packages: đây cũng là một nền tảng rất phổ biến dùng để viết phần mềm cho Windows, nhất là phần mềm desktop truyền thống. Bạn có thể dowload bộ C++ Redistributable mới nhất ở đây, tải xong về nhớ chạy cài đặt và khởi động lại máy tính.

Bản thân ứng dụng đang gặp lỗi: như đã giải thích ở trên, bản thân các ứng dụng cũng có file DLL của riêng chúng. Nếu một file bị lỗi, thiếu hoặc bị ai đó xóa nhầm, bạn có thể copy file tương ứng từ bộ cài trong đĩa sang PC. Nhưng cách tốt nhất để giải quyết nên là cài lại app để mọi thứ đâu vào đấy chứ không phải sửa theo kiểu chắp vá.

Nếu tất cả giải pháp trên đều không thành công, có lẽ bạn phải liên hệ với nhà phát triển của phần mềm để lấy được file DLL mà bạn cần hoặc tải lại bộ cài mới. Mình đã từng gặp trường hợp này với một app chuyên dụng của mình, khi đó bạn developer phải gửi file rồi mình chép thủ công vào thư mục của app thì mới chạy lên được.
 

Cập nhật tin tức công nghệ mới nhất tại fanpage Công nghệ & Cuộc sống

Nguồn tin:

 

Tham gia bình luận