7Aug
Wanneer u een foutmelding krijgt dat Windows een bepaald DLL-bestand niet kan vinden, kan het erg verleidelijk zijn om het bestand te downloaden van een van de vele DLL-sites die er zijn. Hier is waarom je dat niet zou moeten doen.
Wat zijn DLL's?
Voordat we aan de slag gaan met waarom je geen Dynamic Link Library( DLL) -bestanden van internet zou moeten downloaden, laten we eerst eens kijken welke DLL-bestanden zijn. Een DLL-bestand is een bibliotheek die een set code en gegevens bevat voor het uitvoeren van een bepaalde activiteit in Windows. Apps kunnen vervolgens op die DLL-bestanden een beroep doen als ze die activiteit nodig hebben. DLL-bestanden lijken veel op uitvoerbare( EXE) bestanden, behalve dat DLL-bestanden niet rechtstreeks in Windows kunnen worden uitgevoerd. Met andere woorden, u kunt niet dubbelklikken op een DLL-bestand om het op dezelfde manier uit te voeren als een EXE-bestand. In plaats daarvan zijn DLL-bestanden ontworpen om door andere apps te worden gebruikt. Ze zijn zelfs ontworpen om door meerdere apps tegelijkertijd te worden gebruikt. Het "link" deel van de DLL-naam suggereert ook een ander belangrijk aspect. Meerdere DLL's kunnen aan elkaar worden gekoppeld, zodat wanneer een DLL wordt aangeroepen, een aantal andere DLL's tegelijkertijd worden opgeroepen.
Windows zelf maakt veel gebruik van DLL's, zoals een rondleiding door de map C: \ Windows \ System32 u kan vertellen. Laten we, als voorbeeld van waar we het over hebben, eens kijken naar het Windows-systeembestand "comdlg32.dll." Dit bestand, ook wel bekend als de Common Dialog Box Library, bevat code en gegevens voor het bouwen van veel van de gebruikelijke dialoogvensters die u ziet inWindows-dialogen voor zaken als het openen van bestanden, het afdrukken van documenten, enzovoort. De instructies in dit DLL-bestand behandelen alles, van het ontvangen en interpreteren van berichten die voor het dialoogvenster zijn bedoeld, tot het opgeven van de weergave van het dialoogvenster op uw scherm. Vanzelfsprekend kunnen meerdere apps tegelijk op dit DLL-bestand callen, anders zou u niet in meer dan één app tegelijk een dialoogvenster( zoals hieronder) kunnen openen. Met
DLL's kan code worden gemodulariseerd en opnieuw worden gebruikt, wat betekent dat ontwikkelaars geen tijd hoeven te besteden aan het schrijven van code om alledaagse of algemene functies uit te voeren. En hoewel ontwikkelaars hun eigen DLL's zullen maken om met hun apps te installeren, zijn de overgrote meerderheid van DLL's die door apps worden gebeld, eigenlijk gebundeld met Windows of met extra pakketten, zoals Microsoft. NET Framework of Microsoft C ++ Redistributables. Het andere grote voordeel van modularizing code op deze manier is dat updates eenvoudiger toe te passen zijn op elke DLL dan op een hele app, vooral wanneer die DLL's niet van de ontwikkelaar van de app komen. Als Microsoft bijvoorbeeld bepaalde DLL's in zijn. NET Framework bijwerkt, kunnen alle apps die deze DLL's gebruiken onmiddellijk profiteren van de bijgewerkte beveiliging of functionaliteit.
Gedownloade DLL's zijn mogelijk verouderd
Dus, met een beetje begrip van DLL's onder onze riem, waarom zou u ze niet van internet downloaden als er een ontbreekt in uw systeem?
Het meest voorkomende probleem dat je tegenkomt met gedownloade DLL's is dat ze verouderd zijn. Veel van de DLL-sites die er zijn, halen hun DLL's door ze gewoon te uploaden van hun eigen computers of die van hun gebruikers. Je kunt het probleem waarschijnlijk al zien. De meeste van deze sites willen alleen verkeer, en zodra een DLL is geüpload, hebben ze weinig reden om het bestand up-to-date te houden. Voeg hier nog aan toe dat leveranciers meestal geen bijgewerkte DLL's als individuele bestanden aan het publiek bekendmaken, en u kunt zien dat zelfs sites die proberen te houden om bestanden up-to-date te houden, waarschijnlijk niet erg succesvol zullen zijn.
Er is ook het verdere probleem dat DLL's meestal in pakketten worden geïntegreerd. Een update van een DLL in een pakket gaat vaak gepaard met updates van andere, gerelateerde DLL's in hetzelfde pakket, wat betekent dat zelfs in het onwaarschijnlijke geval dat u wel een up-to-date DLL-bestand krijgt, u geen gerelateerde bestanden zult krijgen die ookzijn bijgewerkt.
Gedownloade DLL's kunnen worden geïnfecteerd
Hoewel minder vaak voorkomend, is een potentieel veel slechter probleem dat DLL's die u downloadt van andere bronnen dan de leverancier soms kunnen worden geladen met virussen of andere malware die uw pc kan infecteren. Dit geldt met name op sites die niet al te voorzichtig zijn met waar ze hun bestanden krijgen. En het is niet dat die sites hun best doen om u over hun risicovolle bronnen te vertellen. Het meest enge deel is dat als u een geïnfecteerd DLL-bestand downloadt, u door de aard van DLL-bestanden het risico loopt dat u dieper toegang krijgt dan een normaal geïnfecteerd bestand.
Het goede nieuws hier is dat een goede, real-time antivirus-app deze geïnfecteerde DLL-bestanden meestal kan detecteren voordat ze daadwerkelijk op uw systeem worden opgeslagen en voorkomen dat ze schade aanrichten. Toch moet je onthouden dat zelfs een geweldig antivirusprogramma je misschien niet de perfecte bescherming biedt. Als je er een gewoonte van maakt om risicovolle bestanden te downloaden, zal het je waarschijnlijk op een gegeven moment inhalen. Het is het beste om deze DLL-sites gewoon te vermijden.
Waarschijnlijk zullen ze uw probleem niet oplossen
Hoewel het mogelijk is dat slechts één DLL-bestand op uw pc beschadigd is geraakt of is verwijderd, is de kans groter dat andere DLL's of verwante app-bestanden ook corrupt zijn of ontbreken. De reden dat u een foutmelding krijgt over een bepaald bestand, is dat dit de eerste fout is die een app heeft ondervonden voordat deze crashte en u eenvoudig niet op de hoogte wordt gebracht van de rest. Dit kan waar zijn, ongeacht de oorzaak van het probleem.
Waarom worden DLL's vermist of beschadigd? Het kan zijn dat een andere foutieve app of update probeerde het bestand te vervangen en mislukte, of te vervangen door een verouderde kopie. Het kan een fout zijn bij de installatie van uw hoofdapp of in een pakket zoals. NET.Het kan zelfs zo zijn dat u nog een probleem hebt - zoals slechte sectoren op uw harde schijf - die voorkomen dat het bestand correct wordt geladen.
Hoe kan ik mijn DLL-fout oplossen?
De enige manier om ervoor te zorgen dat u een stabiel, up-to-date en schoon DLL-bestand krijgt, is om het door de bron te halen waaruit het is ontstaan. Typisch zal die bron zijn:
- Uw Windows installatiemedia .Het is onwaarschijnlijk dat je gewoon een DLL-bestand van je installatiemedia kunt kopiëren, maar je hebt wel een snelle optie om het te proberen voordat je iets doet dat zo ingrijpend is als het opnieuw starten van Windows. U kunt de Windows Resource Protection-tool( vaak aangeduid als systeembestandscontrole of SFC) gebruiken, die corrupte of ontbrekende systeembestanden in Windows zal scannen en repareren. U moet uw installatiemedia bij de hand hebben als u de tool gebruikt, voor het geval het een bestand vanaf daar moet kopiëren.(Als u geen installatieschijf hebt, kunt u er hier een downloaden.)
- De Microsoft. NET Framework-pakketten .Verschillende versies van. NET worden automatisch geïnstalleerd, samen met Windows, en veel apps installeren ook ook bestanden van die pakketten. U kunt ons artikel over het. NET-framework lezen, dat ook wat advies heeft voor het vinden en repareren van gerelateerde problemen.
- Verschillende Microsoft Visual C ++ Redistributable packages .Afhankelijk van de apps die u gebruikt, zijn mogelijk meerdere versies van de C ++ Redistributable op uw pc geïnstalleerd. Het kan soms moeilijk zijn om te bepalen welke persoon de boosdoener is, maar een goede plaats om te beginnen is ons artikel over C ++ Redistributables, dat ook beschikt over verschillende stappen voor probleemoplossing en links waar je de meest recente versies rechtstreeks van Microsoft kunt downloaden.
- De app die het DLL-bestand met heeft gekregen. Als het DLL-bestand samen met een app is geïnstalleerd in plaats van deel uit te maken van een afzonderlijk pakket, kunt u het beste gewoon de app opnieuw installeren. Met sommige apps kunt u een reparatie uitvoeren in plaats van een volledige herinstallatie. Beide opties zouden moeten werken, omdat een reparatie meestal op zoek is naar ontbrekende bestanden in de installatiemappen.
Als dat allemaal niet lukt, kunt u mogelijk contact opnemen met de app-leverancier en een kopie van een individueel DLL-bestand aanvragen. Sommige bedrijven staan open voor dit verzoek;sommige zijn dat niet. Als u een bedrijf tegenkomt dat geen individuele bestanden levert, kunnen ze op zijn minst andere suggesties doen om uw probleem op te lossen.