7Aug
Quando si riceve un errore che dice che Windows non è in grado di trovare un particolare file DLL, può essere terribilmente allettante scaricare il file da uno dei tanti siti DLL là fuori. Ecco perché non dovresti.
Cosa sono le DLL?
Prima di iniziare a spiegare perché non si dovrebbero scaricare i file di 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.
Windows stesso fa un uso estensivo delle DLL, come un tour attraverso la cartella C: \ Windows \ System32 può dirvi. 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 inFinestre 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
consentono la modularizzazione e il riutilizzo del codice, il che significa che gli sviluppatori non devono perdere tempo a scrivere codice da zero per eseguire funzioni banali o comuni. E sebbene gli sviluppatori creino le proprie DLL per l'installazione con le loro app, la maggior parte delle DLL chiamate da app sono in realtà fornite in bundle con Windows o con pacchetti aggiuntivi, come Microsoft. NET Framework o Microsoft C ++ Redistributables. L'altro grande vantaggio del codice di modularizzazione in questo modo è che gli aggiornamenti sono più facili da applicare a ciascuna DLL piuttosto che a un'intera app, specialmente quando quelle DLL non provengono dallo sviluppatore dell'app. Ad esempio, quando Microsoft aggiorna determinate DLL nel proprio. NET Framework, tutte le app che utilizzano tali DLL possono sfruttare immediatamente la sicurezza o la funzionalità aggiornate.
possono 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 che provano ad per mantenere aggiornati i file non avranno molto successo.
C'è anche l'ulteriore problema che le DLL sono solitamente integrate nei pacchetti. Un aggiornamento ad 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 anchestato 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.
La buona notizia è che una buona applicazione antivirus in tempo reale può in genere rilevare questi file DLL infetti prima che vengano effettivamente salvati nel sistema e impedire loro di fare danni. Tuttavia, è necessario ricordare che anche un ottimo programma antivirus potrebbe non fornire una protezione perfetta. Se hai l'abitudine di scaricare file rischiosi, è probabile che ti raggiunga a un certo punto.È meglio evitare solo questi siti DLL.
Probabilmente non risolveranno comunque il tuo problema
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 è di farlo attraverso l'origine da cui ha avuto origine. In genere, tale origine sarà:
- Il 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.)
- Il pacchetto 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 di Microsoft Visual C ++ ridistribuibili .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 che la DLL ha fornito con .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.