Όταν παίρνετε ένα λάθος μήνυμα λέγοντας ότι τα Windows δεν μπορούσαν να βρουν ένα συγκεκριμένο αρχείο DLL, μπορεί να φαίνεται σαν λύση να το κατεβάσετε το αρχείο από ένα από τα πολλά sites DLL που βρίσκονται στο διαδίκτυο αλλά στην ουσία δεν πρέπει να το κάνετε. Πάμε να προσεγγίσουμε όμως τον όρο DLL.
Τι είναι τα αρχεία DLL;
Πριν ξεκινήσουμε για τους λόγους που δεν θα πρέπει να κατεβάσετε Dynamic Link Library (DLL) αρχεία από το Διαδίκτυο, ας ρίξουμε πρώτα μια ματιά στο τι είναι αυτά τα αρχεία. Ένα αρχείο DLL είναι μια βιβλιοθήκη που περιέχει ένα σύνολο κώδικα και δεδομένων για την εκτέλεση μιας συγκεκριμένης δραστηριότητας στα Windows. Οι εφαρμογές μπορούν στη συνέχεια να ζητήσουν από αυτά τα αρχεία DLL, τον κώδικα όταν τον χρειάζονται για να ξεκινήσουν την διαδικασία της εκτέλεσης. Τα DLL αρχεία είναι πολλά όπως και τα εκτελέσιμα (.EXE) αρχεία, με την διαφορά του ότι τα αρχεία DLL δεν μπορούν να «εκτελεστούν» απευθείας στο Windows.
Με άλλα λόγια, δεν μπορείτε να κάνετε διπλό κλικ σε ένα αρχείο DLL για να το εκτελέσετε με τον ίδιο τρόπο που θα κάνατε με ένα αρχείο .EXE. Αντ ‘αυτού, τα αρχεία DLL έχουν σχεδιαστεί για να καλούνται από άλλες εφαρμογές. Στην πραγματικότητα, έχουν σχεδιαστεί για να καλούνται από πολλές εφαρμογές ταυτόχρονα. Επίσης πολλαπλά αρχεία DLL μπορούν να συνδεθούν μεταξύ τους έτσι ώστε όταν το ένα DLL καλείται να εκτελεστεί, ένας αριθμός άλλων DLLs καλούνται επίσης ταυτόχρονα.
Γιατί δεν πρέπει να κατεβάζετε DLL αρχεία από το διαδίκτυο
Τα ίδια τα Windows κάνουν εκτεταμένη χρήση των αρχείων DLL, για του λόγου το αληθές μια περιήγηση μέσα από το φάκελο C: Windows/System32 θα σας λύσει την απορία. Ως ένα παράδειγμα του τι μιλάμε, ας εξετάσουμε το σύστημα αρχείων των Windows Comdlg32.dll.
![](https://pcmagazino.gr/wp-content/uploads/2022/10/Windows-Comdlg32.png)
Αυτό το αρχείο, περιέχει τον κώδικα και των δεδομένων για την κατασκευή πολλών από τα κοινά παράθυρα διαλόγου που βλέπετε στα windows για παράδειγμα όπως το άνοιγμα αρχείων, εκτύπωση εγγράφων, και ούτω καθεξής. Προφανώς, πολλές εφαρμογές μπορούν να καλέσουν αυτό το DLL ταυτόχρονα, διαφορετικά δεν θα είναι σε θέση να ανοίξει ένα παράθυρο διαλόγου. Τα DLLs επιτρέπουν στον κώδικα να έχει μια σπονδυλωτή μορφή και να ξαναχρησιμοποιηθεί, πράγμα που σημαίνει ότι οι προγραμματιστές δεν χρειάζεται να περνούν το χρόνο τους γράφοντας τον κώδικα από το μηδέν για να εκτελέσουν κοινές λειτουργίες.
Το άλλο μεγάλο πλεονέκτημα αυτού του κώδικα είναι ότι οι ενημερώσεις είναι ευκολότερο να εφαρμοστούν σε κάθε DLL αντί σε μια εφαρμογή ειδικά όταν τα αρχεία DLL της εφαρμογής δεν προέρχονται από τον προγραμματιστή της αρχικής δημιουργίας. Για παράδειγμα, όταν η Microsoft ενημερώνει ορισμένα αρχεία DLL στο .NET Framework της, όλες οι εφαρμογές που χρησιμοποιούν αυτά τα αρχεία DLL έχουν ένα πλεονέκτημα στο θέμα της ασφάλειας και της λειτουργικότητας. Κάποια αρχεία DLL μπορεί να είναι παρωχημένα, με απλά λόγια να είναι παλιές εκδόσεις.
Τα περισσότερα από αυτά τα sites θέλουν μόνο τα «κλικ σας» και στοχεύουν μόνο στην επισκεψιμότητα σας. Επίσης δεν ενημερώνουν τα DLL με νέες εκδόσεις. Υπάρχει επίσης το επιπλέον πρόβλημα που τα DLLs είναι συνήθως ενσωματωμένα σε πακέτα. Μέσα σε αυτά τα πακέτα υπάρχει περίπτωση κάποια αρχεία να μην είναι ενημερωμένα σε σχέση με κάποια άλλα.
Μερικά αρχεία DLL μπορεί να περιέχουν ιό
Το χειρότερο πρόβλημα είναι ότι τα αρχεία DLL που κατεβάζετε από άλλες πηγές εκτός από την αυθεντική πηγή μερικές φορές μπορεί να είναι μολυσμένα με ιούς ή άλλο κακόβουλο λογισμικό που μπορεί να μολύνει τον υπολογιστή σας. Ένα καλό antivirus μπορεί να ανιχνεύσει συνήθως αυτά τα μολυσμένα αρχεία DLL πριν αποθηκευτούν στο σύστημά σας και να τους αποτρέψει από το να κάνουν οποιαδήποτε ζημιά. Μια σειρά από αυτά τα αρχεία DLL μπορεί να μην λειτουργούν είτε γιατί δεν είναι ενημερωμένα αρκετά από αυτά είτε γιατί ένα μεμονωμένο αρχείο είναι παλιάς έκδοσης ή κατεστραμμένο. Μπορεί να είναι ένα σφάλμα κατά την εγκατάσταση της κύριας εφαρμογής σας ή σε ένα πακέτο, όπως το .NET. Μπορεί ακόμη να έχετε κάποιο άλλο πρόβλημα όπως κατεστραμμένους τομείς στον σκληρό σας δίσκο, που εμποδίζουν το αρχείο να φορτωθεί σωστά.
Ο μόνος τρόπος για να διασφαλίσετε ότι θα πάρετε ένα πλήρες ενημερωμένο DLL είναι να το πάρετε μέσα από την πηγή από την οποία προέρχεται. Συνήθως, αυτή η πηγή μπορεί να είναι: Τα πακέτα Microsoft .NET Framework. Οι διάφορες εκδόσεις του .NET εγκαθίσταται αυτόματα μαζί με τα Windows, και πολλές εφαρμογές χρησιμοποιούν αρχεία από αυτά τα πακέτα. Διάφορες εκδόσεις της Microsoft Visual C ++. Ανάλογα με τις εφαρμογές που χρησιμοποιείτε, μπορείτε να έχετε πολλαπλές εκδόσεις της C ++ οι οποίες θα σας βοηθήσουν να ξεπεράσετε το πρόβλημα της ενημέρωσης.
Εάν το αρχείο DLL που εγκαταστάθηκε μαζί με μια εφαρμογή αντί να είναι μέρος ενός ξεχωριστού πακέτου, και παρατηρείται ότι η εφαρμογή δεν λειτουργεί το καλύτερο που έχετε να κάνετε είναι απλά να εγκαταστήσετε ξανά την εφαρμογή. Ορισμένες εφαρμογές σας επιτρέπουν να εκτελέσετε επιδιόρθωση και επανεγκατάσταση. Αν όλα αυτά αποτύχουν, μπορείτε να επικοινωνήσετε με τον προμηθευτή της εφαρμογής και να ζητήσετε ένα αντίγραφο από ένα μεμονωμένο αρχείο DLL. Ορισμένες εταιρείες παρέχουν αυτή την δυνατότητα είτε εναλλακτικά μπορεί να σας προσφέρουν και άλλες προτάσεις για την επίλυση του προβλήματός σας.