
Per tutti gli articoli e le guide che riguardano il più popolare sistema operativo per PC, sfoglia il "Canale Windows".
Se avete la necessità di eseguire alcuni vecchi programmi su PC Windows 10 potreste scontrarvi con un messaggio di errore simile al seguente: Il componente comctl32.ocx o una delle sue dipendenze non è correttamente registrato: file mancante o non valido
. Il nome esatto del file può variare, ma generalmente si parla di comctl32.ocx
, COMCAT.DLL
o MSVCRT40.DLL
, e il problema di fondo è sempre lo stesso: file mancante o non valido. In questo articolo vedremo come risolvere scaricando il pacchetto di librerie OCX e DLL mancanti
OCX o DLL mancanti: la causa
Il problema di fondo affrontato in questo articolo è causato dal fatto che il vecchio programma che stiamo tentando di aprire è realizzato in linguaggio Visual Basic 6, una tecnologia oggi abbondantemente superata ma estremamente popolare negli anni 90 e inizio del 2000.
Visual Basic 6 metteva a disposizione numerose librerie (file ".dll") contenenti codice pronto all'uso, che i programmatori potevano richiamare nei propri programmi per dotarli rapidamente di pulsanti, elementi grafici, tabelle e quant'altro. Quando queste librerie non vengono fornite insieme al programma, l'applicazione non funziona.
La lista completa di questi file è la seguente:
ADVPACK.DLL
asycfilt.dll
CMDLGIT.DLL
comcat.dll
comctl32.ocx
COMDLG32.OCX
DAO350.DLL
expsrv.dll
mscomctl.ocx
MSEXCL35.DLL
MSHFLXGD.OCX
MSJET35.DLL
MSJInt35.dll
MSJtEr35.dll
MSRD2X35.DLL
MSREPL35.DLL
msvbvm60.dll
MSVCRT40.DLL
oleaut32.dll
olepro32.dll
RICHTX32.OCX
stdole2.tlb
TABCTL32.ocx
VB5DB.dll
VB6IT.DLL
VB6STKIT.DLL
vbajet32.dll
vbrun60.inf
W95INF16.DLL
W95INF32.DLL
In caso il messaggio di errore riporti un nome di file non presente in questa lista, probabilmente il programma non è scritto in Visual Basic 6 e potrebbe trattarsi di componenti legate a .NET Framework oppure a Visual C++. Sospendere dunque la lettura del presente e consultare questi altri approfondimenti specifici:
» Leggi: Impossibile avviare il programma perché MSVCR100.dll non è presente nel computer
» Leggi: [risolto] VCRUNTIME140.dll download - Errore di sistema
» Leggi: Download .NET Framework ultima versione
Download Visual Basic 6.0: Run-Time Redistribution Pack
Il primo pacchetto da installare per risolvere l'errore include le versioni dei file di runtime di Microsoft Visual Basic richiesti da tutte le applicazioni create con Visual Basic 6.0. Può essere scaricato seguendo questo URL:
» Download: Visual Basic 6.0: Run-Time Redistribution Pack (SP6)
Una volta salvato il file sul PC, lanciare l'eseguibile.
In caso appaia un avviso relativo alla compatibilità, cliccare Installa utilizzando impostazioni di compatibilità
e confermare ripetutamente
A questo punto: riavviare il PC (per cautela: non dovrebbe essere strettamente necessario) e provare nuovamente ad aprire il programma che precedentemente non funzionava. Se ora si mostra correttamente, l'operazione è conclusa. In caso contrario, installare anche il pacchetto seguente.
Download Pacchetto OCX e DLL aggiuntivi per programmi VB6
Il pacchetto Microsoft precedente installa solo alcune DLL e OCX utilizzati dai programmi scritti in Visual Basic 6. Capita spesso però che detti software impieghino anche altre componenti, e quindi il problema persiste. Ho dunque raccolto i principali file mancanti in questo archivio:
» Download: Pacchetto DLL e OCX aggiuntivi per programmi VB6
Terminato il download è sufficiente:
- estrarre il contenuto in una cartella temporanea a piacere
- lanciare il file
setup.bat
fornito - confermare ripetutamente
Completata anche questa operazione, riavviare di nuovo il PC e provare ad aprire il programma che precedentemente non funzionava. Nel corso delle mie prove, l'operazione è sempre risultata efficace.
Caratteri sfocati?
Se utilizzate vecchi programmi scritti in Visual Basic 6 con un monitor ad alta risoluzione (4K / UHD) o, in generale, sul quale sia attivo l'ingrandimento degli elementi a schermo, otterrete testi sfocati. Il problema è dovuto al fatto che la tecnologia è molto vecchia, e non supporta la modalità "alti DPI"
È comunque possibile migliorare drasticamente la resa seguendo la procedura indicata nel seguente approfondimento:
» Leggi: Testo sfocato: come visualizzare / scoprire se un app supporta la modalità alti DPI con Windows 10