I controlli OLE, quali i file dei controlli DLL o ActiveX (OCX), devono essere registrati. La registrazione di un controllo OLE aggiorna il Registro di sistema di Windows con il percorso e le funzionalità del file in modo che il programma venga eseguito correttamente.
Per risolvere alcuni problemi con Windows, Microsoft Internet Explorer o con altri programmi, è possibile utilizzare lo strumento Regsvr32 (Regsvr32.exe) per registrare e annullare i controlli OLE.
Ad esempio, secondo l'articolo della Knowledge Base riportato di seguito è necessario utilizzare Regsvr32.exe per annullare la registrazione del controllo Wuv3is.dll prima della reinstallazione dal sito di Windows Update:
241122
(http://support.microsoft.com/kb/241122/it/
)
Errore dell'applicazione quando si fa clic su Aggiornamenti prodotto
Se la registrazione di un controllo ha esito negativo o se si desiderano informazioni da sviluppatore su come risolvere i problemi relativi alla registrazione non riuscita del controllo OLE, consultare l'articolo della Microsoft Knowledge Base
140346
(http://support.microsoft.com/kb/140346/it/
)
Possibili motivi per l'errore relativo alla registrazione del controllo OLE
Regsvr32.exe è compreso in Microsoft Internet Explorer versione 3.0 o successive, Windows 95 OEM Service Release 2 (OSR2) o versioni successive e Windows NT 4.0 Service Pack 5 (SP5) o versioni successive. Regsvr32.exe è installato nella cartella di sistema (Windows Millennium Edition/Windows 98/Windows 95) o nella cartella System32 (Windows NT/Windows XP/Windows Vista/Windows 7).
Riduci l'immagineEspandi l'immagine
Nota Nelle versioni a 64 bit del sistema operativo Windows, sono presenti due versioni del file Regsv32.exe:
- La versione a 64 bit è %systemroot%\System32\regsvr32.exe.
- La versione a 32 bit è %systemroot%\SysWoW64\regsvr32.exe.
Sintassi di Regsvr32.exe
Di seguito sono riportate le opzioni della riga di comando per RegSvr32.exe:
Click here to show/hide solution
Regsvr32 [/u] [/n] [/i[:cmdline]] dllname
/u - Annulla la registrazione del server
/i - richiama DllInstall con una [cmdline] opzionale; quando utilizzata con /u, richiama dll uninstall
/n - non richiama DllRegisterServer; questa opzione deve essere utilizzata con /i
/s - Invisibile; non visualizza finestre di messaggio (aggiunto in Windows XP e Windows Vista)
Quando si utilizza Regsvr32.exe, il programma prova a caricare il componente e a richiamare la relativa funzione
DLLSelfRegister. La corretta esecuzione del comando è indicata da un'apposita finestra di dialogo. In caso contrario, Regsvr32 restituisce un messaggio di errore. Ciò può includere un codice di errore Win32.
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
193625
(http://support.microsoft.com/kb/193625/it/
)
Codici di errore WinInet (da 12001 a 12156)
Per registrare manualmente un controllo ActiveX denominato ad esempio Sample.ocx, digitare il seguente comando a un prompt di comandi:
c:\regsvr32.exe sample.ocx
Messaggi di errore di Regsvr32.exe in Windows Vista e versioni successive
Nell'elenco che segue sono riportati esempi dei messaggi di errore di RegSvr32 e le possibili cause:
Click here to show/hide solution
- Contrassegno del comando ""%1"" non valido. Rivedere la sintassi del comando e riprovare.
Una combinazione di opzioni non valida è stata passata a regsvr32.exe nella riga di comando.
- Questo comando valido soltanto se è aperto un progetto di controllo Activex OLE in Microsoft Visual Studio.
Regsvr32.exe è stato richiamato da Visual Studio, ma non sono stati specificati moduli nella riga di comando.
- Per registrare un modulo, è necessario fornire un nome binario.
Regsvr32.exe è stato richiamato senza specificare alcun modulo nella riga di comando.
- Esecuzione del comando OleInitialize non riuscita. La memoria del computer potrebbe essere insufficiente. Chiudere eventuali programmi aperti e riprovare.
Affinché Regsvr32 possa richiamare le funzioni della libreria COM necessarie e deinizializzare la libreria alla chiusura, è necessario che la libreria COM venga inizializzata. Questi messaggi di errore vengono visualizzati in caso di errore di inizializzazione o deinizializzazione della libreria COM.
- Caricamento del modulo ""%1"" non riuscito. \n\n Assicurarsi che il file binario sia memorizzato nel percorso specificato oppure eseguire il debug per verificare la presenza di problemi con il file binario o con i file .DLL dipendenti.\n\n%2.
Errore durante il caricamento di un modulo specificato nella riga di comando. Il testo dell'errore viene visualizzato come parte del messaggio.
- Il modulo ""%1"" è stato caricato ma il punto di ingresso %2 non è stato trovato.\n\nAssicurarsi che ""%1"" sia un file DLL o OCX valido e riprovare
Regsvr32.exe non ha trovato il punto di ingresso richiesto nel modulo specificato nella riga di comando. Ciò può verificarsi se i punti di ingresso non vengono esportati correttamente dal modulo o se il modulo non è un file .DLL o .OCX.
- Il modulo ""%1"" è stato caricato ma la chiamata a %2 ha avuto esito negativo con codice di errore %3.\n\nPer ulteriori informazioni relative a questo problema, effettua una ricerca in linea utilizzando il codice di errore come termine di ricerca.
Errore durante l'invocazione da parte di regsvr32.exe del punto di ingresso nel modulo specificato nella riga di comando. Il testo dell'errore viene visualizzato come parte del messaggio.
- Il modulo ""%1"" potrebbe non essere compatibile con la versione di Windows in esecuzione. Verificare se il modulo è compatibile con versioni x86 (32 bit) o x64 (64 bit) di regsvr32.exe.
Ad esempio, questo errore può verificarsi se regsvr32.exe è in esecuzione su un computer x86 e il modulo specificato nella riga di comando è a 64 bit.
Messaggi di errore di Regsvr32.exe in versioni di Windows precedenti a Windows Vista
Nell'elenco che segue sono riportati esempi dei messaggi di errore di RegSvr32 e le possibili cause:
Click here to show/hide solution
- Contrassegno sconosciuto: /invalid_flag
È stata digitata una combinazione non valida di contrassegni o parametri. Fare riferimento alla sezione "Sintassi di Regsvr32.exe" di questo articolo.
- Nessun nome DLL specificato.
Non è stato incluso il nome di un file .dll (fare riferimento alla sezione "Sintassi di Regsvr32.exe" di questo articolo).
- Dll_Name caricato. Impossibile trovare il punto di ingresso DllRegisterServer o DllUnregisterServer.
Il nome Dll specificato non è un file .dll o .ocx. Questo messaggio di errore viene ad esempio restituito quando si digita regsvr32 wjview.exe.
- Dll_Name non è un file eseguibile e nessun helper è stato trovato per questo tipo di file.
Il nome Dll specificato non corrisponde a un file eseguibile (.exe, .dll o .ocx). Ad esempio, questo messaggio di errore viene restituito quando si digita regsvr32 autoexec.bat.
- Dll_Name caricato. Impossibile trovare il punto di ingresso DllRegisterServer o DllUnregisterServer.
Il nome Dll specificato non può essere esportato o una versione danneggiata del nome Dll può essere presente in memoria. Provare a utilizzare Pview per rilevare il file e rimuoverlo.
- Dll_Name non è autoregistrabile oppure in memoria potrebbe essere presente una versione danneggiata.
Ad esempio, la digitazione di regsvr32 icwdial.dll restituisce un messaggio di errore poiché il file Icwdial.dll non è autoregistrabile. Se in memoria è presente una versione danneggiata di Dllname, provare a riavviare il computer oppure a estrarre nuovamente la versione originale del file. Se si sta eseguendo Windows NT, potrebbe essere necessario utilizzare lo strumento Kill o Pview nel Resource Kit di Windows NT Server 4.0. Per ulteriori informazioni, vedere l'articolo della Microsoft Knowledge Base
197155: Terminazione di processi orfani
(http://support.microsoft.com/kb/197155/it)
- Errore di OleInitialize (o errore di OleUninitialize)
Affinché Regsvr32 possa richiamare le funzioni della libreria COM necessarie e deinizializzare la libreria alla chiusura, è necessario che la libreria COM venga inizializzata. Questi messaggi di errore vengono visualizzati in caso di errore di inizializzazione o deinizializzazione della libreria COM. Ad esempio, il file Ole32.dll potrebbe essere danneggiato oppure della versione non corretta.
- Errore LoadLibrary("Dll_Name"). GetlastError restituisce 0x00000485
Da Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Significa "Impossibile trovare uno dei file della libreria necessari all'esecuzione dell'applicazione". Ad esempio, la digitazione di regsvr32 missing.dll restituisce questo messaggio di errore se il file Missing.dll non viene trovato.
- Errore LoadLibrary("Dll_Name"). GetLastError restituisce 0x00000002
Da Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Significa "Impossibile trovare il file specificato" ovvero una DLL dipendente non è stata trovata. Ad esempio, la digitazione di regsvr32 icwdial.dll con Tapi32.dll (una dipendenza) mancante restituisce questo messaggio di errore.
- Errore LoadLibrary("dskmaint.dll"). GetLastError restituisce 0x000001f
Da Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Significa "Una periferica collegata al sistema non è in funzione". Questo problema si verifica se si prova a registrare un file DLL di Win16. Ad esempio, la digitazione di regsvr32 dskmaint.dll restituisce questo messaggio di errore.
- Errore di DllRegisterServer (o DllUnregisterServer) in Dll_Name. Codice di ritorno: stringa
Cercare il file Winerror.h per la stringa specificata nel messaggio.
Identificativo articolo: 249873 - Ultima modifica: mercoledì 31 ottobre 2012 - Revisione: 7.0
Le informazioni in questo articolo si applicano a:
- Windows Vista Enterprise
- Windows Vista Business
- Windows Vista Business N 64-bit Edition
- Windows Vista Home Basic
- Windows Vista Home Basic N
- Windows Vista Home Basic N 64-bit Edition
- Windows Vista Home Premium
- Windows Vista Starter
- Windows Vista Ultimate
- Windows Vista Business N
- Windows Vista Business 64-bit edition
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
- Microsoft Windows XP Professional
- Microsoft Windows XP Professional N
- Microsoft Windows XP Home Edition N
- Microsoft Windows XP Tablet PC Edition
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows 95
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 4.0 Standard Edition
- Windows 7 Enterprise
- Windows 7 Home Basic
- Windows 7 Home Premium
- Windows 7 Professional
- Windows 7 Starter
- Windows 7 Ultimate
- Windows 7 Enterprise N
- Windows 7 Home Premium N
- Windows 7 Professional N
- Windows 7 Starter N
- Windows 7 Ultimate N
| kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873 |
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.