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

Risolvere errore " componente comctl32.ocx dipendenze non è correttamente registrato" Windows 10 - Download Pacchetto DLL OCX 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)

Risolvere errore " componente comctl32.ocx dipendenze non è correttamente registrato" Windows 10 - Download Pacchetto DLL OCX mancanti

Una volta salvato il file sul PC:

  1. lanciare l'eseguibile
  2. scegliere una cartella temporanea a piacere nella quale scompattare il pacchetto
  3. entrare nella cartella scelta
  4. lanciare il file vbrun60sp6.exe

In caso appaia un avviso relativo alla compatibilità, cliccare Installa utilizzando impostazioni di compatibilità e confermare ripetutamente

Risolvere errore " componente comctl32.ocx dipendenze non è correttamente registrato" Windows 10 - Download Pacchetto DLL OCX mancanti - zShotVM_1563957365

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

Risolvere errore " componente comctl32.ocx dipendenze non è correttamente registrato" Windows 10 - Download Pacchetto DLL OCX mancanti - Mobile_zShot_1563957877

Terminato il download è sufficiente:

  • estrarre il contenuto in una cartella temporanea a piacere
  • lanciare il file setup.bat fornito
  • confermare ripetutamente

Risolvere errore " componente comctl32.ocx dipendenze non è correttamente registrato" Windows 10 - Download Pacchetto DLL OCX mancanti - Mobile_zShot_1563958118

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"

Risolvere errore " componente comctl32.ocx dipendenze non è correttamente registrato" Windows 10 - Download Pacchetto DLL OCX mancanti - zShotVM_1554995434

È 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