Windows usa componenti (i files con estensione
*.OCX) e librerie (i files con estensioni
*.DLL) per l'esecuzione della maggioranza dei software in circolazione.
Questi componenti e librerie sono di default installati con il sistema operativo e in Windows XP si trovano nella
C:\windows\system32.
Quando un'applicazione necessita di un componente o di una libreria non
targata Microsoft (e quindi non installata insieme al sistema operativo) per esegue funzioni particolari, il software in questione deve installare e registrare nel registro di sistema, tale componente.
Puo' capitare, pero', che queste installazioni non procedano a buon fine o che questi componenti vadano persi o concellati. A questo punto l'applicazione installata non funziona piu' correttamente e lancia uno dei classici messaggi d'errore tipo:
Componente nomefile.ocx o nomefile.dll mancante!
Self Registration error. The following files did not self-register or unregister
Errore durante l'accesso al registro di sistema OLE
Per risolvere questo errore occorre riuscire a registrare i componenti OCX e/o DLL mancanti.
Per registrare i componenti OCX e DLL per prima cosa e' necessario avere i diritti di amministratore del sistema.
Per accertarlo, cliccare su
Start > Impostazioni > Pannello di controllo > Account utente e controllare che la descrizione dell'account che si sta' utilizzando riporti
Amministratore del computer.
Se diversa, cliccare sull'account, quindi su
Cambia il tipo di account ed impostare
Amministratore del computer. Cliccare quindi su
Cambia il tipo di account per confermare la modifica, ed uscire.
Metodo 1
Questo e' il metodo piu' semplice e indolore, e consiste nel registrare manualmente i componenti mancanti.
Registrazione dei componenti OCX
Per registrare i componenti OCX occorre:
1) Copiare il o i Files segnalati dal messagio di errore nella directory
...\windows\system32
2) Andare su
Start > Esegui... e digitare
regsvr32 c:\windows\system32\NomeFileMancante.ocx
Registrazione delle librerie DLL
Per registrare le librerie DLL occorre:
1) Copiare il o i Files segnalati dal messagio di errore nella directory
...\windows\system32
2) Andare su
Start > Esegui... e digitare
regsvr32 c:\windows\system32\nomefilemancante.dll
ecco le opzioni di Regsvr32:
Questa procedura puo' essere eseguita anche tramite il software
ActiveX Manager disponibile per il download nella sezione del nostro sito
Computer alla pagina
Windows manager tools
(www.parlandosparlando.com/view.php/id_229/lingua_0/whoisit_1)
Metodo 2
Nonostante tutti gli sforzi fatti in precedenza, puo' capitare (e neanche tanto di rado) che non si riesca ancora a installare queste OCX o DLL. La causa e' allora da ricercare in qualche chiave del registro di Windows che ne impedisce la corretta registrazione.
In questo caso non bastano solo le proprie forze, ma occorre anche l'ausilio di un software specializzato: il programma e'
Registry Monitor (conosciuto come
Regmon), che e' disponibile per il download nella nostra sezione
Computer alla pagina
Windows manager tools
(www.parlandosparlando.com/view.php/id_229/lingua_0/whoisit_1)
Avviare
Regmon (che non richiede installazione); premere i tasti
Ctrl A per disabilitare la funzione di scorrimento automatico.
Provare a registrare nuovamente la chiave OCX o DLL mancante come visto con il precedente metodo, controllando questa volta in
Regmon tutte le richieste
Openkey generate a cui e' stato negato l'accesso.
Le richieste
Openkey sono elencate nella colonna
Request, le negazioni di accesso nella colonna
Result con l'etichetta
ACCDENIED (ossia
accesso negato).
Ora, cliccare su
Start > Esegui..., digitare
regedit e cliccare su
Ok.
Si aprira' cosi' il registro di configurazione di Windows; andare alla prima delle chiavi elencate dal precedente programma
Regmon che erano state etichettate con
ACCDENIED e selezionarla cliccarci sopra con il tasto destro del mouse.
Nel menu a tendina che si sara' aperto, cliccare su
Autorizzazioni.
Controllare che in
Autorizzazioni per Administrators sia abilitata la casella per il controllo completo.
Se si hanno problemi di modifica, sempre nella stessa finestra, cliccare su
Avanzate, in
Autorizzazioni evidenziare il nome del proprio account, abilitare la casella
Sostituisci le autorizzazioni in tutti gli oggetti con le autorizzazioni appropriate qui specificate, quindi premere
Applica ed
Ok.
Eseguire queste operazioni su tutte le chiavi del registro che il programma
Regmon ha etichettato con
ACCDENIED, e poi provare ad installare nuovamente il programma che aveva dato l'errore degli OCX e/o delle DLL.
Dizionario
I
controlli OCX (brevemente OCX) vengono utilizzati in Visual Basic ed altri linguaggi di programmazione (Visual C++, FoxPro, ecc).
Il loro nome deriva dalla loro estensione (
.ocx), acronimo di
OLE Custom Controls (OLE e' l'acronimo di
Object Linking and Embedding (in italiano
collegamento e incorporazione di oggetti).
Gli OCX, come gli ActiveX, possono essere attivati in Visual Basic dal comando Componenti (Components) nel menu' Progetto (Project). Selezionando le varie caselle si aggiungono pulsanti alla casella degli strumenti, relativamente ai controlli selezionati. Una volta utilizzato un controllo OCX esso deve essere poi distribuito assieme al progetto finale (.exe o .dll) affinche' il progetto stesso possa essere eseguito correttamente.
Librerie DLL: DLL e' l'aconimo di
dynamic-link library (in italiano
libreria a collegamento dinamico) e' una libreria software che non viene collegata staticamente ad un eseguibile in fase di compilazione, ma che viene caricata dinamicamente in fase di esecuzione.
DLL e' l'estensione del file che hanno nel sistema operativo Microsoft Windows.
Nei sistemi Linux sono invece note come
so, abbreviazione di
shared object.