Cosa sapere
- Per registrare un file DLL myfile.dll, immettere regsvr32 myfile.dll e per annullare la registrazione, digitare r egsvr32 /u myfile.dllnella riga di comando.
- Se viene visualizzato un errore quando si tenta di registrare un file DLL, è possibile che non si disponga delle autorizzazioni corrette o il file potrebbe essere bloccato.
- Altri errori potrebbero essere dovuti a una dipendenza mancante; in tal caso, utilizzare Dependency Walker per visualizzare tutte le dipendenze richieste dal file DLL.
Questo articolo spiega come utilizzare lo strumento da riga di comando regsvr32 in Windows e come correggere alcuni errori di regsvr32. Regsvr32 viene utilizzato per registrare e annullare la registrazione dei controlli OLE (Object Linking and Embedding), come i file DLL e il controllo ActiveX. File OCX. Potrebbe essere necessario registrare un file DLL se viene visualizzato un errore DLL sul computer.
Come registrare e annullare la registrazione di un file DLL
Se i riferimenti nel registro di Windows che fanno riferimento al file DLL vengono in qualche modo rimossi o danneggiati, i programmi che devono utilizzare quel file DLL potrebbero smettere di funzionare. È quando questa associazione con il registro viene interrotta che dovrebbe essere registrato un file DLL.
La registrazione di un file DLL viene in genere eseguita reinstallando il programma che lo ha registrato in primo luogo. A volte, tuttavia, potrebbe essere necessario registrare manualmente il file DLL tramite il prompt dei comandi.
Se non sei sicuro di come trovarlo, consulta il nostro tutorial su come aprire il prompt dei comandi.
Questo è il modo corretto per strutturare un comando regsvr32:
regsvr32 [/u] [/n] [/i[:cmdline]
Ad esempio, devi inserire questo primo comando per registrare un file DLL chiamato myfile.dll, o il secondo per annullare la registrazione:
regsvr32 miofile.dll
regsvr32 /u miofile.dll
Non tutte le DLL possono essere registrate semplicemente inserendo il comando sopra in un prompt dei comandi. Potrebbe essere necessario chiudere prima il servizio o il programma che sta utilizzando il file.
Come correggere gli errori comuni di Regsvr32
Ecco un errore che potresti vedere quando provi a registrare un file DLL:
Il modulo è stato caricato ma la chiamata a DllRegisterServer non è riuscita con codice di errore 0x80070005.
Questo è in genere un problema di autorizzazione. Se l'esecuzione di un prompt dei comandi con privilegi elevati non consente ancora di registrare il file DLL, il file stesso potrebbe essere bloccato. Controlla la sezione Sicurezza della scheda Generale nella finestra Proprietà del file.
Un altro possibile problema potrebbe essere la mancanza delle autorizzazioni corrette per utilizzare il file.
Un messaggio di errore simile è scritto come quello qui sotto. Questo errore in genere significa che la DLL non viene utilizzata come DLL COM per nessuna applicazione sul computer, il che significa che non è necessario registrarla.
Il modulo è stato caricato ma il DllRegisterServer del punto di ingresso non è stato trovato.
Ecco un altro messaggio di errore di regsvr32:
Il modulo non è stato caricato. Assicurati che il file binario sia archiviato nel percorso specificato o esegui il debug per verificare la presenza di problemi con i file. DLL binari o dipendenti. Impossibile trovare il modulo specificato.
Quel particolare errore potrebbe essere dovuto a una dipendenza mancante, nel qual caso puoi usare Dependency Walker per vedere un elenco di tutte le dipendenze richieste dal file DLL, in quanto potrebbe mancarne una che devi avere in ordine per la corretta registrazione della DLL.
Inoltre, assicurati che il percorso del file DLL sia scritto correttamente. La sintassi del comando è molto importante; potrebbe essere generato un errore se non è inserito correttamente.
Alcuni file DLL potrebbero dover avere la loro posizione racchiusa tra virgolette come questa:
"C:\Utenti\Utente amministratore\Programmi\miofile.dll"
Dove viene memorizzato Regsvr32.exe?
Le versioni a 32 bit di Windows (XP e versioni successive) aggiungono lo strumento Microsoft Register Server a questa cartella quando Windows viene installato per la prima volta: %systemroot%\System32\.
Le versioni a 64 bit di Windows memorizzano il file regsvr32.exe non solo lì, ma anche qui: %systemroot%\SysWoW64\.