Mitä ovat DLL-tiedostot ja miksi yksi puuttuu tietokoneeltani?

Kun saat virheen sanomalla, että Windows ei löytänyt tiettyä DLL-tiedostoa, voi olla erittäin houkuttelevaa ladata tiedosto yhdestä monista DLL-sivustoista. Tämän vuoksi sinun ei pitäisi.

Mitä ovat DLL: t?

LIITTYVÄT: Mikä on rundll32.exe ja miksi se toimii?

Ennen kuin aloitamme miksi sinun ei pitäisi ladata Dynamic Link Library (DLL) -tiedostoja Internetistä, katsotaanpa ensin DLL-tiedostot. DLL-tiedosto on kirjasto, joka sisältää joukon koodeja ja tietoja tietyn toiminnan suorittamiseksi Windowsissa. Sovellukset voivat sitten käyttää kyseisiä DLL-tiedostoja, kun he tarvitsevat kyseisen toiminnan. DLL-tiedostot ovat paljon kuin suoritettavat (EXE) tiedostot, paitsi että DLL-tiedostoja ei voida suorittaa suoraan Windowsissa. Toisin sanoen, et voi kaksoisnapsauttaa DLL-tiedostoa suorittaaksesi sen samalla tavalla kuin EXE-tiedosto. Sen sijaan DLL-tiedostot on suunniteltu kutsumaan muut sovellukset. Itse asiassa ne on suunniteltu niin, että useat sovellukset voivat käyttää niitä kerralla. DLL-nimen "linkki" -osa viittaa myös toiseen tärkeään näkökohtaan. Useita DLL-tiedostoja voidaan linkittää yhteen niin, että kun yksi DLL-tiedosto kutsutaan,useita muita DLL-tiedostoja kutsutaan myös samanaikaisesti.

Windows itse käyttää laajasti DLL-tiedostoja, koska C:\Windows\System32kansioon tutustuminen voi kertoa sinulle. Tarkastellaan esimerkkinä siitä, mistä puhumme, Windows-järjestelmätiedostoa "comdlg32.dll". Tämä tiedosto, joka tunnetaan myös nimellä Common Dialog Box Library, sisältää koodia ja tietoja useiden Windowsissa näkyvien yleisten valintaikkunoiden rakentamiseen - valintaikkunoita, kuten tiedostojen avaaminen, asiakirjojen tulostaminen ja niin edelleen. Tämän DLL: n ohjeet käsittelevät kaikkea valintaikkunalle tarkoitettujen viestien vastaanottamisesta ja tulkinnasta siihen, miten valintaikkuna näyttää ruudulla. On selvää, että useat sovellukset voivat soittaa tähän DLL: ään samanaikaisesti, muuten et voisi avata valintaikkunaa (kuten alla oleva) useammassa kuin yhdessä sovelluksessa kerrallaan.

DLL-tiedostot mahdollistavat koodin moduloinnin ja uudelleenkäytön, mikä tarkoittaa, että kehittäjien ei tarvitse käyttää aikaa koodin kirjoittamiseen tyhjästä arkisten tai yleisten toimintojen suorittamiseksi. Ja vaikka kehittäjät luovat omat DLL-tiedostot asennettaviksi sovelluksiinsa, valtaosa sovellusten kutsumista DLL-tiedostoista on tosiasiallisesti mukana Windowsissa tai lisäpaketeissa, kuten Microsoft .NET Framework tai Microsoft C ++ Redistributables. Koodin modulaation toinen suuri etu on, että päivityksiä on helpompi soveltaa jokaiseen DLL: ään kuin koko sovellukseen - varsinkin kun nämä DLL: t eivät ole peräisin sovelluksen kehittäjältä. Esimerkiksi, kun Microsoft päivittää tietyt DLL-tiedostot .NET Frameworkissa, kaikki kyseisiä DLL-tiedostoja käyttävät sovellukset voivat välittömästi hyödyntää päivitettyä tietoturvaa tai toiminnallisuutta.

RELATED: Mikä on Microsoft .NET Framework ja miksi se asennetaan tietokoneelleni?

Ladatut DLL-tiedostot voivat olla vanhentuneita

Joten, ymmärtämällä hieman DLL-tiedostoja vyömme alla, miksi et lataa niitä Internetistä, kun joku puuttuu järjestelmästäsi?

Yleisin ongelma, johon törmäät ladattujen DLL-tiedostojen kanssa, on se, että ne ovat vanhentuneita. Monet siellä olevat DLL-sivustot saavat DLL-tiedostot lataamalla ne vain omilta tietokoneiltaan. Voit todennäköisesti nähdä ongelman jo. Suurin osa näistä sivustoista haluaa vain liikenteen, ja kun DLL on ladattu, niillä ei ole juurikaan kannustimia varmistaa, että tiedosto pidetään ajan tasalla. Lisää tähän, että toimittajat eivät yleensä julkaise päivitettyjä DLL-tiedostoja yleisölle yksittäisinä tiedostoina, ja voit nähdä, että edes sivustot, jotka  yrittävät pitää tiedostot ajan tasalla, eivät todennäköisesti ole kovin onnistuneita.

On myös toinen ongelma, että DLL: t integroidaan yleensä paketteihin. Yhden paketin DLL: n päivitykseen liittyy usein päivityksiä muihin samaan pakettiin liittyviin DLL-tiedostoihin, mikä tarkoittaa, että vaikka epätodennäköisessä tapauksessa saat ajan tasalla olevan DLL-tiedoston, et saa siihen liittyviä tiedostoja, joilla on myös on päivitetty.

Ladatut DLL-tiedostot voivat tarttua

Vaikka harvinaisempi, mahdollisesti paljon pahempi ongelma on, että muista lähteistä kuin toimittajalta lataamasi DLL-tiedostot voivat joskus olla ladattuja viruksilla tai muilla haittaohjelmilla, jotka voivat tartuttaa tietokoneesi. Tämä pätee erityisesti sivustoihin, jotka eivät ole liian varovaisia ​​siitä, mistä he saavat tiedostonsa. Ja ei ole, että nämä sivustot aikovat tehdä kaikkensa kertoakseen sinulle riskialttiista lähteistään. Todella pelottavaa on, että jos lataat tartunnan saaneen DLL-tiedoston, olet vaarassa - DLL-tiedostojen luonteen vuoksi - antaa tälle tiedostolle syvemmän pääsyn kuin tavallinen tartunnan saanut tiedosto saattaa saada.

RELATED: Mikä on paras virustorjunta Windows 10: lle? (Onko Windows Defender tarpeeksi hyvä?)

Hyvä uutinen on, että hyvä, reaaliaikainen virustentorjuntaohjelma voi yleensä havaita nämä tartunnan saaneet DLL-tiedostot ennen kuin ne todella tallennetaan järjestelmään, ja estää heitä tekemästä vahinkoja. Silti sinun on muistettava, että edes suuri virustentorjuntaohjelma ei välttämättä tarjoa sinulle täydellistä suojaa. Jos sinulla on tapana ladata riskialttiita tiedostoja, se todennäköisesti saavuttaa sinut jossakin vaiheessa. On parasta välttää vain näitä DLL-sivustoja.

He eivät todennäköisesti ratkaise ongelmaa missään tapauksessa

Vaikka on mahdollista, että vain yksi tietokoneesi DLL-tiedosto on vioittunut tai poistettu, on todennäköisempää, että myös muut DLL-tiedostot tai niihin liittyvät sovellustiedostot ovat vioittuneet tai puuttuvat. Syy siihen, että saat virheen tietystä tiedostosta, on se, että se on ensimmäinen virhe, jonka sovellus havaitsi ennen kaatumista, eikä sinulle yksinkertaisesti ilmoiteta muusta. Tämä voi olla totta riippumatta ongelman syystä.

RELATED: Huonot sektorit selittivät: miksi kiintolevyt saavat huonoja aloja ja mitä voit tehdä asialle

Miksi DLL-tiedostot saattavat kadota tai vioittua? Voi olla, että joku muu virheellinen sovellus tai päivitys yritti korvata tiedoston ja epäonnistui tai korvasi sen vanhentuneella kopiolla. Se voi olla vika pääohjelman asennuksessa tai paketissa .NET. Saattaa jopa olla, että sinulla on toinen ongelma - kuten kiintolevyn virheelliset sektorit - jotka estävät tiedostoa lataamasta oikein.

Kuinka voin korjata DLL-virheeni?

Ainoa tapa varmistaa vakaa, ajan tasalla oleva ja puhdas DLL on saada se lähteestä, josta se on peräisin. Lähde on tyypillisesti:

RELATED: Kuinka löytää (ja korjata) vioittuneita järjestelmätiedostoja Windowsissa

  • Windows-asennusvälineesi . On epätodennäköistä, että pystyt yksinkertaisesti kopioimaan DLL-tiedoston asennusvälineestä, mutta sinulla on nopea vaihtoehto kokeilla ennen kuin teet jotain niin voimakasta kuin Windowsin uudelleenasentaminen. Voit käyttää Windowsin resurssisuojaustyökalua (jota kutsutaan usein järjestelmätiedostojen tarkistajaksi tai SFC: ksi), joka etsii ja korjaa vioittuneet tai puuttuvat järjestelmätiedostot Windowsissa. Asennusvälineellä on oltava kätevä työkalua suoritettaessa, siltä varalta, että sen on kopioitava tiedosto sieltä. (Jos sinulla ei ole asennuslevyä, voit ladata sen täältä.)
  • Microsoft .NET Framework -paketit . Useat .NET-versiot asennetaan automaattisesti Windowsin mukana, ja monet sovellukset asentavat myös tiedostoja noista paketeista. Voit lukea artikkelin .NET-kehyksestä, jossa on myös joitain neuvoja liittyvien ongelmien löytämiseen ja korjaamiseen.
  • Erilaisia ​​Microsoft Visual C ++ -jakelupaketteja . Käytettävistä sovelluksista riippuen tietokoneellesi voi olla asennettuna useita C ++ Redistributable -versioita. Joskus voi olla vaikea kaventaa syyllistä, mutta hyvä paikka aloittaa on artikkelimme C ++ -jakelukelpoisuudesta, jossa on myös useita vianmääritysvaiheita ja linkkejä, joihin voit ladata uusimmat versiot suoraan Microsoftilta.
  • Sovellus, jonka DLL antoi . Jos DLL asennettiin yhdessä sovelluksen kanssa sen sijaan, että se olisi osa erillistä pakettia, paras vaihtoehto on vain asentaa sovellus uudelleen. Joidenkin sovellusten avulla voit suorittaa korjauksen täydellisen uudelleenasennuksen sijaan. Kummankin vaihtoehdon pitäisi toimia, koska korjaus etsii yleensä puuttuvia tiedostoja asennuskansioista.

Jos kaikki epäonnistuu, saatat pystyä ottamaan yhteyttä sovellustoimittajaan ja pyytämään kopion yksittäisestä DLL-tiedostosta. Jotkut yritykset ovat avoimia tähän pyyntöön; jotkut eivät. Jos törmäät yritykseen, joka ei tarjoa yksittäisiä tiedostoja, he ainakin pystyvät tarjoamaan muita ehdotuksia ongelmasi ratkaisemiseksi.