Què són els fitxers DLL i per què en falta un al meu PC?

Quan apareix un error en dir que Windows no ha pogut trobar un fitxer DLL concret, pot ser molt temptador baixar-lo des d’un dels molts llocs de DLL que hi ha. Heus aquí per què no ho hauríeu de fer.

Què són les DLL?

RELACIONATS:Què és rundll32.exe i per què s’executa?

Abans de començar a saber per què no heu de baixar fitxers de la Biblioteca d’enllaços dinàmics (DLL) d’Internet, primer fem una ullada a què són els fitxers DLL. Un fitxer DLL és una biblioteca que conté un conjunt de codi i dades per dur a terme una activitat particular al Windows. Les aplicacions poden trucar a aquests fitxers DLL quan necessitin la realització d’aquesta activitat. Els fitxers DLL s’assemblen molt als fitxers executables (EXE), tret que els fitxers DLL no es poden executar directament al Windows. Dit d’una altra manera, no podeu fer doble clic en un fitxer DLL per executar-lo de la mateixa manera que ho faríeu amb un fitxer EXE. En el seu lloc, els fitxers DLL estan dissenyats per ser requerits per altres aplicacions. De fet, estan dissenyades per ser cridades per diverses aplicacions alhora. La part "enllaç" del nom DLL també suggereix un altre aspecte important. Es poden enllaçar diverses DLL de manera que, quan es crida una DLL, també es criden diverses DLL alhora.

El propi Windows fa un ús extensiu de les DLL, com a recorregut per C: \ Windows \ System32 carpeta us ho pot dir. Com a exemple del que estem parlant, considerem el fitxer del sistema de Windows "comdlg32.dll". Aquest fitxer, conegut també com a Biblioteca de quadres de diàleg comú, conté codi i dades per crear molts dels quadres de diàleg comuns que veieu al Windows, diàlegs per a coses com obrir fitxers, imprimir documents, etc. Les instruccions d'aquesta DLL gestionen des de la recepció i interpretació de missatges destinats al quadre de diàleg fins a especificar l'aspecte del quadre de diàleg a la pantalla. Viouslybviament, diverses aplicacions poden trucar a aquesta DLL alhora, en cas contrari no podríeu obrir un quadre de diàleg (com el següent) en més d’una aplicació alhora.

Les DLL permeten modularitzar i reutilitzar el codi, cosa que significa que els desenvolupadors no han de passar temps escrivint codi des de zero per realitzar funcions mundanes o comunes. I, tot i que els desenvolupadors crearan les seves pròpies DLL per instal·lar-les amb les seves aplicacions, la gran majoria de les DLL anomenades per aplicacions s’inclouen realment amb Windows o amb paquets addicionals, com ara Microsoft .NET Framework o Microsoft C ++ Redistributables. L’altre gran avantatge de modularitzar el codi d’aquesta manera és que les actualitzacions són més fàcils d’aplicar a cada DLL que a tota una aplicació, sobretot quan aquestes DLL no provenien del desenvolupador de l’aplicació. Per exemple, quan Microsoft actualitza certes DLL al seu .NET Framework, totes les aplicacions que utilitzen aquestes DLL poden aprofitar immediatament la seguretat o la funcionalitat actualitzades.

RELACIONATS:Què és Microsoft .NET Framework i per què s’instal·la al meu PC?

Les DLL descarregades poden estar obsoletes

Per tant, amb una mica d’enteniment de les DLL que tenim a sota, per què no les descarregueu d’Internet quan en falta un al vostre sistema?

El problema més freqüent amb els fitxers DLL baixats és que estan obsolets. Molts dels llocs DLL que hi ha obtenen DLL només penjant-los des dels seus propis ordinadors o dels seus usuaris. Probablement ja veieu el problema. La majoria d’aquests llocs només volen el vostre trànsit i, un cop carregada una DLL, tenen pocs al·licients per garantir que el fitxer es mantingui actualitzat. Afegiu a això que els proveïdors no solen publicar DLL actualitzades al públic com a fitxers individuals i que fins i tot els llocs que ho poden veureprovar és probable que els fitxers actualitzats no tinguin molt d’èxit.

També hi ha el problema addicional que les DLL solen integrar-se en paquets. Una actualització d’una DLL d’un paquet sovint s’acompanya d’actualitzacions a altres DLL relacionades del mateix paquet, cosa que significa que fins i tot en el cas improbable que tingueu un fitxer DLL actualitzat, no obtindreu fitxers relacionats que també tinguin s'ha actualitzat.

Les DLL descarregades es poden infectar

Tot i que és menys comú, un problema potencialment molt pitjor és que les DLL que baixeu de fonts diferents del proveïdor de vegades es poden carregar amb virus o altres programes maliciosos que poden infectar el vostre PC. Això és particularment cert als llocs que no tenen massa cura sobre on obtenen els seus fitxers. I no és com si aquests llocs s’esforcessin per explicar-vos les seves fonts de risc. La part realment aterridora és que si descarregueu un fitxer DLL infectat, arrisqueu, per la pròpia naturalesa dels fitxers DLL, a donar-li un accés més profund del que podria obtenir un fitxer infectat normal.

RELACIONATS:Quin és el millor antivirus per a Windows 10? (El Defensor de Windows és suficient?)

La bona notícia aquí és que una bona aplicació antivirus en temps real sol detectar aquests fitxers DLL infectats abans de guardar-los al vostre sistema i evitar que facin mal. Tot i així, heu de recordar que fins i tot un gran programa antivirus pot no proporcionar-vos una protecció perfecta. Si teniu el costum de descarregar fitxers arriscats, és probable que en algun moment us pugueu posar al dia. És millor evitar aquests llocs DLL.

Probablement no solucionaran el vostre problema de totes maneres

Tot i que és possible que només s’hagi malmès o suprimit un sol fitxer DLL del vostre PC, és més probable que altres DLL o fitxers d’aplicacions relacionats també estiguin danyats o falten. El motiu pel qual s’obté un error sobre un fitxer en concret és que és el primer error que es va trobar amb una aplicació abans de bloquejar-se i que simplement no se us notifica la resta. Això pot ser cert, independentment de la causa del problema.

RELACIONATS:S’han explicat els mals sectors: per què els discos durs tenen malos sectors i què es pot fer al respecte

Per què poden desaparèixer o corrompre les DLL? Pot ser que una altra aplicació errònia o actualització hagi intentat substituir el fitxer i hagi fallat o l’hagi substituït per una còpia obsoleta. Pot ser un error en la instal·lació de l'aplicació principal o en un paquet com .NET. Fins i tot pot ser que tingueu un altre problema (com ara sectors defectuosos al disc dur) que impedeixen que el fitxer es carregui correctament.

Com puc solucionar el meu error DLL?

L’única manera d’assegurar-vos que obtingueu una DLL estable, actualitzada i neta és fer-la passar per la font d’on es va originar. Normalment, aquesta font serà:

RELACIONATS:Com cercar (i corregir) fitxers del sistema danyats al Windows

  • El vostre suport d’instal·lació de Windows. És poc probable que pugueu copiar simplement un fitxer DLL des del suport d’instal·lació, però teniu una opció ràpida d’intentar abans de fer alguna cosa tan dràstic com tornar a instal·lar Windows. Podeu utilitzar l'eina de protecció de recursos de Windows (sovint coneguda com a comprovador de fitxers del sistema o SFC), que buscarà i solucionarà fitxers de sistema danyats o que falten al Windows. Haureu de tenir el suport d’instal·lació a l’abast quan executeu l’eina, per si de cas necessita copiar un fitxer. (Si no teniu cap disc d’instal·lació, podeu descarregar-ne un aquí.)
  • Els paquets de Microsoft .NET Framework. Diverses versions de .NET s'instal·len automàticament juntament amb Windows, i moltes aplicacions també instal·len fitxers d'aquests paquets. Podeu llegir el nostre article sobre el marc .NET, que també ofereix alguns consells per trobar i reparar problemes associats.
  • Diversos paquets redistribuïbles de Microsoft Visual C ++. Depenent de les aplicacions que utilitzeu, és possible que tingueu instal·lades diverses versions del C ++ Redistributable al vostre PC. De vegades pot ser difícil restringir quin és el culpable, però un bon lloc per començar és el nostre article sobre C ++ Redistributables, que també inclou diversos passos de resolució de problemes i enllaços on podeu descarregar les versions més actualitzades directament de Microsoft.
  • L'aplicació amb la qual s'inclou la DLL. Si la DLL s'ha instal·lat juntament amb una aplicació en lloc de formar part d'un paquet independent, la millor opció és només reinstal·lar l'aplicació. Algunes aplicacions permeten realitzar una reparació en lloc d’una reinstal·lació completa. Qualsevol de les dues opcions hauria de funcionar, ja que normalment una reparació busca fitxers que falten a les carpetes d'instal·lació.

Si tot això falla, podeu contactar amb el proveïdor de l'aplicació i sol·licitar una còpia d'un fitxer DLL individual. Algunes empreses estan obertes a aquesta sol·licitud; alguns no ho són. Si us trobeu amb una empresa que no proporcionarà fitxers individuals, com a mínim pot oferir altres suggeriments per resoldre el vostre problema.