Cosa sono le DLL?
Prima di iniziare, perché non dovresti scaricare i file della Dynamic Link Library (DLL) da Internet, vediamo prima quali sono i file DLL. Un file DLL è una libreria che contiene un set di codice e dati per eseguire una particolare attività in Windows. Le app possono quindi richiamare quei file DLL quando necessitano di tale attività. I file DLL sono molto simili ai file eseguibili (EXE), ad eccezione del fatto che i file DLL non possono essere eseguiti direttamente in Windows. In altre parole, non è possibile fare doppio clic su un file DLL per eseguirlo nello stesso modo in cui si farebbe con un file EXE. Invece, i file DLL sono progettati per essere chiamati da altre app. In realtà, sono progettati per essere richiamati da più app contemporaneamente. La parte "link" del nome della DLL suggerisce anche un altro aspetto importante. Più DLL possono essere collegate insieme in modo che quando viene chiamata una DLL, vengono chiamate contemporaneamente anche altre DLL.
C:WindowsSystem32
cartella può dirti. Come esempio di ciò di cui stiamo parlando, consideriamo il file di sistema di Windows "comdlg32.dll". Questo file, altrimenti noto come Common Dialog Box Library, contiene codice e dati per la creazione di molte delle finestre di dialogo comuni che vedi in Finestre di dialogo per cose come l'apertura di file, la stampa di documenti e così via. Le istruzioni in questa DLL gestiscono tutto da ricevere e interpretare i messaggi destinati alla finestra di dialogo per specificare come appare la finestra di dialogo sullo schermo. Ovviamente, più app possono richiamare questa DLL allo stesso tempo, altrimenti non sarebbe possibile aprire una finestra di dialogo (come quella in basso) in più di un'app alla volta.
Le DLL scaricate potrebbero essere obsolete
Quindi, con un po 'di comprensione delle DLL sotto le nostre cinture, perché non scaricarle da Internet quando ne manca una dal sistema?
Il problema più comune che incontrerai con le DLL scaricate è che sono obsolete. Molti dei siti DLL là fuori ottengono le loro DLL semplicemente caricandole dal proprio computer o dai loro utenti. Probabilmente puoi già vedere il problema. La maggior parte di questi siti desidera solo il tuo traffico e una volta caricata una DLL, hanno un piccolo incentivo per garantire che il file sia aggiornato. Aggiungete a ciò che i produttori non rilasciano normalmente DLL aggiornate al pubblico come singoli file, e potete vedere che anche i siti cheprovare mantenere i file aggiornati non avrà molto successo.
C'è anche l'ulteriore problema che le DLL sono solitamente integrate nei pacchetti. Un aggiornamento a una DLL in un pacchetto è spesso accompagnato da aggiornamenti ad altre DLL correlate nello stesso pacchetto, il che significa che anche nell'improbabile eventualità che si ottenga un file DLL aggiornato, non si otterranno file correlati che hanno anche stato aggiornato
Le DLL scaricate possono essere infettate
Anche se meno comune, un problema potenzialmente molto peggiore è che a volte le DLL scaricate da fonti diverse dal venditore possono essere caricate con virus o altri malware che possono infettare il PC. Questo è particolarmente vero per i siti che non sono troppo attenti su dove ottengono i loro file. E non è che quei siti facciano di tutto per informarti sulle loro fonti rischiose. La parte davvero spaventosa è che se si scarica un file DLL infetto, si rischia, per la natura stessa dei file DLL, di fornire a tale file un accesso più approfondito rispetto a un normale file infetto.
Probabilmente non risolveranno il tuo problema comunque
Mentre è possibile che solo un singolo file DLL sul tuo PC sia stato danneggiato o cancellato, è più probabile che anche altre DLL o relativi file app siano corrotti o mancanti. Il motivo per cui ricevi un errore su un determinato file è che si tratta del primo errore rilevato da un'app prima del crash e semplicemente non ti viene notificato il resto. Questo può essere vero indipendentemente dalla causa del problema.
Perché le DLL potrebbero scomparire o essere danneggiate? È possibile che un'altra app o aggiornamento errata abbia provato a sostituire il file e non sia riuscito a sostituirlo con una copia non aggiornata. Potrebbe essere un errore nell'installazione della tua app principale o in un pacchetto come.NET. Potrebbe anche darsi che si stia verificando un altro problema, come i settori danneggiati sul disco rigido, che impediscono il corretto caricamento del file.
Come posso risolvere il mio errore DLL?
L'unico modo per assicurarsi di ottenere una DLL stabile, aggiornata e pulita è quella di ottenere attraverso la fonte da cui ha avuto origine. In genere, tale origine sarà:
- Il tuo supporto di installazione di Windows. È improbabile che tu possa semplicemente copiare un file DLL dal tuo supporto di installazione, ma hai una rapida opzione da provare prima di fare qualcosa di così drastico come re-invocare Windows. È possibile utilizzare lo strumento Protezione risorse di Windows (spesso definito come il controllo file di sistema o SFC), che eseguirà la scansione e correggerà i file di sistema corrotti o mancanti in Windows. Si dovrebbe avere a portata di mano il supporto di installazione quando si esegue lo strumento, nel caso in cui sia necessario copiare un file da lì. (Se non si dispone di un disco di installazione, è possibile scaricarne uno qui.)
- I pacchetti di Microsoft.NET Framework. Diverse versioni di.NET vengono installate automaticamente insieme a Windows e molte app installano anche i file da questi pacchetti. Puoi leggere il nostro articolo sul framework.NET, che ha anche alcuni consigli per trovare e riparare i problemi associati.
- Vari pacchetti ridistribuibili Microsoft Visual C ++. A seconda delle app utilizzate, è possibile che sul PC siano installate più versioni di C ++ Redistributable. A volte può essere difficile restringere quale è il colpevole, ma un buon punto di partenza è il nostro articolo su C ++ Redistributables, che presenta anche diversi passaggi per la risoluzione dei problemi e collegamenti in cui è possibile scaricare le versioni più aggiornate direttamente da Microsoft.
- L'app con cui è arrivata la DLL. Se la DLL è stata installata insieme a un'app anziché essere parte di un pacchetto separato, la soluzione migliore è semplicemente reinstallare l'app. Alcune app consentono di eseguire una riparazione anziché una reinstallazione completa. Entrambe le opzioni dovrebbero funzionare, dal momento che una riparazione in genere cerca i file mancanti nelle cartelle di installazione.
Se tutto ciò non riesce, potresti essere in grado di contattare il fornitore dell'app e richiedere una copia di un singolo file DLL. Alcune società sono aperte a questa richiesta; alcuni non lo sono. Se ti imbatti in una società che non fornirà singoli file, almeno potrebbero essere in grado di offrire altri suggerimenti per risolvere il tuo problema.