7Aug

Γιατί δεν πρέπει να κάνετε λήψη αρχείων DLL από το Internet

Όταν λάβετε ένα σφάλμα λέγοντας ότι τα Windows δεν μπόρεσαν να βρουν ένα συγκεκριμένο αρχείο DLL, μπορεί να είναι απαίσιο δελεαστικό να κατεβάσετε το αρχείο από μια από τις πολλές τοποθεσίες DLL εκεί έξω.Εδώ γιατί δεν πρέπει.

Τι είναι τα DLL;

Πριν ξεκινήσουμε από το γιατί δεν πρέπει να κάνετε λήψη αρχείων Dynamic Link Library( DLL) από το Internet, ας ρίξουμε μια ματιά στα αρχεία DLL.Ένα αρχείο DLL είναι μια βιβλιοθήκη που περιέχει ένα σύνολο κωδικών και δεδομένων για τη διεξαγωγή συγκεκριμένης δραστηριότητας στα Windows.Οι εφαρμογές μπορούν στη συνέχεια να καλέσουν σε αυτά τα αρχεία DLL όταν χρειάζονται τη δραστηριότητα που εκτελείται.Τα αρχεία DLL είναι πολύ παρόμοια με τα εκτελέσιμα αρχεία( EXE), εκτός από το ότι τα αρχεία DLL δεν μπορούν να εκτελεστούν απευθείας στα Windows.Με άλλα λόγια, δεν μπορείτε να κάνετε διπλό κλικ σε ένα αρχείο DLL για να το εκτελέσετε με τον ίδιο τρόπο που θα κάνατε ένα αρχείο EXE.Αντ 'αυτού, τα αρχεία DLL σχεδιάζονται για να καλούνται από άλλες εφαρμογές.Στην πραγματικότητα, έχουν σχεδιαστεί για να καλούνται ταυτόχρονα από πολλαπλές εφαρμογές.Το τμήμα "link" του ονόματος DLL προτείνει επίσης μια άλλη σημαντική πτυχή.Πολλαπλά DLLs μπορούν να συνδεθούν μεταξύ τους έτσι ώστε όταν καλείται ένα DLL, καλούνται επίσης και άλλα DLL ταυτόχρονα.

Τα ίδια τα Windows κάνουν εκτεταμένη χρήση των DLL, καθώς μπορεί να σας πει μια περιήγηση μέσω του φακέλου C: \ Windows \ System32.Ως παράδειγμα αυτού που μιλάμε, ας εξετάσουμε το αρχείο συστήματος "comdlg32.dll". Αυτό το αρχείο, γνωστό και ως κοινής βιβλιοθήκης διαλόγου, περιέχει κώδικα και δεδομένα για την κατασκευή πολλών από τα κοινά πλαίσια διαλόγου που βλέπετεΠαράθυρα-παράθυρα διαλόγου για πράγματα όπως άνοιγμα αρχείων, εκτύπωση εγγράφων, και ούτω καθεξής.Οι οδηγίες σε αυτό το DLL χειρίζονται τα πάντα από τη λήψη και την ερμηνεία μηνυμάτων που προορίζονται για το παράθυρο διαλόγου για να καθορίσετε τον τρόπο εμφάνισης του πλαισίου διαλόγου στην οθόνη σας.Προφανώς, πολλές εφαρμογές μπορούν να κάνουν κλήση σε αυτό το DLL ταυτόχρονα, διαφορετικά δεν θα μπορείτε να ανοίξετε ένα παράθυρο διαλόγου( όπως το παρακάτω) σε περισσότερες από μία εφαρμογές ταυτόχρονα.Τα αρχεία

DLL επιτρέπουν την τροποποίηση και επαναχρησιμοποίηση του κώδικα, γεγονός που σημαίνει ότι οι προγραμματιστές δεν χρειάζεται να ξοδεύουν χρόνο για να γράψουν κώδικα από την αρχή για να εκτελέσουν καθημερινές ή κοινές λειτουργίες.Και αν και οι προγραμματιστές θα δημιουργήσουν τα δικά τους DLL για να εγκαταστήσουν με τις εφαρμογές τους, η συντριπτική πλειονότητα των DLL που ονομάζονται εφαρμογές είναι πραγματικά συνδεδεμένα με τα Windows ή με επιπλέον πακέτα, όπως το Microsoft. NET Framework ή το Microsoft C ++ Redistributables.Το άλλο μεγάλο πλεονέκτημα του module modularizing με αυτόν τον τρόπο είναι ότι οι ενημερώσεις είναι ευκολότερο να εφαρμοστούν σε κάθε DLL παρά σε μια ολόκληρη εφαρμογή - ειδικά όταν αυτά τα DLLs δεν προέρχονται από τον προγραμματιστή της εφαρμογής.Για παράδειγμα, όταν η Microsoft ενημερώνει ορισμένα DLL στο. NET Framework, όλες οι εφαρμογές που χρησιμοποιούν αυτά τα αρχεία DLL μπορούν αμέσως να επωφεληθούν από την ενημερωμένη ασφάλεια ή λειτουργικότητα.

ΣΧΕΤΙΚΑ ΑΡΘΡΑ
Τι είναι το Microsoft. NET Framework και γιατί εγκαθίσταται στον υπολογιστή μου;
Γιατί υπάρχουν τόσα "Microsoft Visual C ++ Redistributables" εγκατεστημένα στον υπολογιστή μου;

Τα ληφθέντα DLLs μπορεί να είναι ξεπερασμένα

Έτσι, με λίγη κατανόηση των αρχείων DLL κάτω από τις ζώνες μας, γιατί να μην τα κατεβάζετε από το Internet όταν λείπει από το σύστημά σας;

Το πιο συνηθισμένο πρόβλημα που θα αντιμετωπίσετε με τα ληφθέντα DLL είναι ότι είναι ξεπερασμένα.Πολλές από τις τοποθεσίες DLLs εκεί έξω παίρνουν τα DLLs τους απλά φορτώνοντάς τα από τους δικούς τους ή τους υπολογιστές των χρηστών τους.Μπορείτε πιθανώς να δείτε το πρόβλημα ήδη.Οι περισσότεροι από αυτούς τους ιστότοπους θέλουν απλώς την επισκεψιμότητά σας και μόλις μεταφορτωθεί ένα αρχείο DLL, έχουν ελάχιστα κίνητρα να διασφαλίσουν ότι ο φάκελος ενημερώνεται.Προσθέστε σε αυτό ότι οι πωλητές δεν εκδίδουν συνήθως ενημερωμένα DLL στο κοινό ως μεμονωμένα αρχεία και μπορείτε να δείτε ότι ακόμη και οι ιστότοποι που προσπαθούν να κρατήσουν τα αρχεία ενημερωμένοι δεν είναι πιθανό να είναι πολύ επιτυχημένοι.

Υπάρχει επίσης το περαιτέρω πρόβλημα ότι τα αρχεία DLL συνήθως ενσωματώνονται σε πακέτα.Μια ενημέρωση σε ένα DLL σε ένα πακέτο συνοδεύεται συχνά από ενημερώσεις άλλων σχετικών αρχείων DLL στο ίδιο πακέτο, πράγμα που σημαίνει ότι ακόμη και στην απίθανη περίπτωση που θα λάβετε ένα ενημερωμένο αρχείο DLL, δεν θα λάβετε σχετικά αρχεία που έχουν επίσηςενημερώθηκε.

κατεβάσει αρχεία DLL μπορεί να μολυνθεί

Αν και λιγότερο συνηθισμένο, ένα δυνητικά πολύ χειρότερο πρόβλημα είναι ότι τα αρχεία DLL που κατεβάζετε από άλλες πηγές εκτός από τον προμηθευτή μερικές φορές μπορούν να φορτωθούν με ιούς ή άλλο κακόβουλο λογισμικό που μπορεί να μολύνει τον υπολογιστή σας.Αυτό ισχύει ιδιαίτερα σε ιστότοπους που δεν είναι πολύ προσεκτικοί σχετικά με το πού παίρνουν τα αρχεία τους.Και δεν είναι όπως αυτές οι περιοχές πρόκειται να βγούμε από το δρόμο τους για να σας πω για τις πηγές κινδύνου τους.Το πραγματικά τρομακτικό μέρος είναι ότι αν κατεβάσετε ένα μολυσμένο αρχείο DLL, κινδυνεύετε-από την ίδια τη φύση των αρχείων DLL-δίνοντας αυτό το αρχείο βαθύτερη πρόσβαση από ένα κανονικό μολυσμένο αρχείο μπορεί να πάρει.

Τα καλά νέα εδώ είναι ότι μια καλή εφαρμογή αντιμετώπισης ιών σε πραγματικό χρόνο μπορεί να ανιχνεύσει αυτά τα μολυσμένα αρχεία DLL πριν αποθηκευτούν στην πραγματικότητα στο σύστημά σας και να τους αποτρέψουν από οποιαδήποτε ζημιά.Ακόμα, πρέπει να θυμάστε ότι ακόμη και ένα μεγάλο πρόγραμμα προστασίας από ιούς ενδέχεται να μην σας προσφέρει τέλεια προστασία.Εάν κάνετε μια συνήθεια λήψης επικίνδυνων αρχείων, είναι πιθανό να σας καλύψουν κάποια στιγμή.Είναι καλύτερα να αποφύγετε ακριβώς αυτές τις τοποθεσίες DLL.

Πιθανότατα δεν θα λύσει το πρόβλημά σας ούτως ή άλλως

Ενώ είναι πιθανό ότι μόνο ένα αρχείο DLL στον υπολογιστή σας έχει καταστραφεί ή διαγραφεί, είναι πιθανότερο ότι άλλα DLL ή σχετικά αρχεία εφαρμογών είναι επίσης διεφθαρμένα ή λείπουν.Ο λόγος που εμφανίζεται ένα σφάλμα σχετικά με ένα συγκεκριμένο αρχείο είναι ότι είναι το πρώτο σφάλμα μιας εφαρμογής που συναντήθηκε πριν από τη συντριβή και απλά δεν ενημερώνεστε για τα υπόλοιπα.Αυτό μπορεί να είναι αληθές ανεξάρτητα από την αιτία του προβλήματος.

Γιατί ενδέχεται τα DLL να λείπουν ή να αλλοιώνονται;Μπορεί να είναι ότι μια άλλη εφαρμογή ή μια ενημερωμένη αναζήτησή σας προσπάθησε να αντικαταστήσει το αρχείο και απέτυχε ή την αντικατέστησε με ένα παλιό αντίγραφο.Μπορεί να είναι σφάλμα στην εγκατάσταση της κύριας εφαρμογής σας ή σε ένα πακέτο όπως το. NET.Μπορεί ακόμη και να έχετε κάποιο άλλο πρόβλημα όπως οι κακοί τομείς στον σκληρό δίσκο σας που εμποδίζουν τη σωστή φόρτωση του αρχείου.

Πώς μπορώ να διορθώσω το σφάλμα DLL μου;

Ο μόνος τρόπος για να εξασφαλίσετε ότι έχετε ένα σταθερό, ενημερωμένο και καθαρό DLL είναι να το πάρετε από την πηγή από την οποία προέρχεται.Συνήθως, αυτή η πηγή θα είναι:

  • Τα μέσα εγκατάστασης των Windows .Είναι απίθανο να μπορείτε να αντιγράψετε απλά ένα αρχείο DLL από το μέσο εγκατάστασης, αλλά έχετε μια γρήγορη επιλογή να δοκιμάσετε πριν κάνετε κάτι τόσο δραστικό όσο το reintalling των Windows.Μπορείτε να χρησιμοποιήσετε το εργαλείο Προστασίας πόρων των Windows( συχνά αναφέρεται ως ελεγκτής αρχείων συστήματος ή SFC), το οποίο θα σαρώσει και θα διορθώσει κατεστραμμένα ή λείπει αρχεία συστήματος στα Windows.Θα πρέπει να έχετε το μέσο εγκατάστασής σας εύχρηστο κατά την εκτέλεση του εργαλείου, μόνο σε περίπτωση που χρειάζεται να αντιγράψετε ένα αρχείο από εκεί.(Εάν δεν διαθέτετε δίσκο εγκατάστασης, μπορείτε να το κατεβάσετε εδώ.)
  • Τα πακέτα της Microsoft. NET Framework .Πολλές εκδόσεις του. NET εγκαθίστανται αυτόματα μαζί με τα Windows και πολλές εφαρμογές εγκαθιστούν επίσης αρχεία από αυτά τα πακέτα.Μπορείτε να διαβάσετε το άρθρο μας σχετικά με το. NET Framework, το οποίο επίσης έχει κάποιες συμβουλές για την εύρεση και επισκευή των σχετικών προβλημάτων.
  • Διάφορα πακέτα αναδιανομής του Microsoft Visual C ++ .Ανάλογα με τις εφαρμογές που χρησιμοποιείτε, μπορείτε να έχετε πολλές εκδόσεις του C ++ Redistributable εγκατεστημένες στον υπολογιστή σας.Μπορεί μερικές φορές να είναι δύσκολο να περιορίσετε ποιος είναι ο ένοχος, αλλά ένα καλό μέρος για να ξεκινήσετε είναι το άρθρο μας για το C ++ Redistributables, το οποίο διαθέτει επίσης αρκετά βήματα αντιμετώπισης προβλημάτων και συνδέσμους όπου μπορείτε να κάνετε λήψη των πλέον ενημερωμένων εκδόσεων κατευθείαν από τη Microsoft.
  • Η εφαρμογή που έφερε το αρχείο DLL με .Αν το αρχείο DLL εγκαταστήθηκε μαζί με μια εφαρμογή αντί να είναι μέρος ενός ξεχωριστού πακέτου, το καλύτερο στοίχημά σας είναι απλά να επανεγκαταστήσετε την εφαρμογή.Ορισμένες εφαρμογές σάς επιτρέπουν να πραγματοποιήσετε μια επισκευή αντί για μια πλήρη επανεγκατάσταση.Κάθε επιλογή θα πρέπει να λειτουργήσει, αφού μια επισκευή συνήθως αναζητά τα αρχεία που λείπουν στους φακέλους εγκατάστασης.

Εάν όλα αυτά αποτυγχάνουν, ίσως μπορείτε να επικοινωνήσετε με τον προμηθευτή της εφαρμογής και να ζητήσετε αντίγραφο ενός μεμονωμένου αρχείου DLL.Ορισμένες εταιρείες είναι ανοικτές σε αυτό το αίτημα.μερικοί δεν είναι.Εάν συναντήσετε μια εταιρεία που δεν θα παρέχει μεμονωμένα αρχεία, μπορεί τουλάχιστον να είναι σε θέση να προσφέρει άλλες προτάσεις για την επίλυση του προβλήματός σας.