Libreria oggetti non registrata quando si aggiungono i controlli comuni di Windows 6.0

Sto cercando di installare Visual Studio 6 su un computer Windows 7 a 32 bit.

L’intall OS era di metallo nudo.

Ho seguito le istruzioni qui menzionate (che ho usato prima)

L’installazione è andata bene senza errori segnalati ma quando provo ad aggiungere Microsoft Windows Common Controls 6.0 alla casella degli strumenti ottengo l’errore “Libreria oggetti non registrata”.

Ho provato a fare una disinstallazione manuale e la reinstallazione dell’OCX, entrambe riuscite ma ho ancora lo stesso errore.

Ho provato a installare SP6 e installato senza errori (e aggiornato OCX a una versione più recente), ma ho ancora lo stesso problema.

MODIFICARE:

Come accennato in seguito a ulteriori indagini sembra che l’aggiornamento di IE10 interrompa il MSCOMCTL.ocx. Comunque penso che questo sia qualcosa a che fare con l’ordine perché ho un’altra macchina Windows 7 con IE10 che funziona bene.

Questa è la soluzione giusta:

 cd C:\Windows\System32 regsvr32 mscomctl.ocx regtlib msdatsrc.tlb 

e su macchine a 64 bit (per riferimento):

 cd C:\Windows\SysWOW64 regsvr32 mscomctl.ocx regtlib msdatsrc.tlb 

Posso confermare che questo non è risolvibile annullando la registrazione e registrando il MSCOMCTRL.OCX come prima. Ho cercato di definire quale aggiornamento è la fonte del problema e sembra che sia IE10 o IE10 in combinazione con altri aggiornamenti che causano il problema. Se riesco a dedicare più tempo all’investimento, aggiornerò il mio post ma nel frattempo disinstallando IE10 risolve il problema.

Ho avuto lo stesso problema. VB6 Win7 64 bit e ho trovato una soluzione molto semplice, quindi ho pensato che sarebbe una buona idea condividerlo qui nel caso in cui aiuti qualcun altro.

Innanzitutto ho provato quanto segue senza successo:

MSCOMCTL, MSCOMCTL2 e i controlli X attivi del codice a barre non registrati e registrati in tutte le directory che potrei pensare di provare (VB98, sistema 32, sysWOW64, cartella del progetto).

Eliminazione della cartella di lavoro e recupero di tutto. (attraverso la fonte sicura)

Copia dei file OCX da una macchina senza problemi e registrandoli.

Installazione del service pack 6

Installare gli strumenti MZ – ne valeva la pena

Installazione della versione distribuibile del progetto.

Modifica manuale del file vbp (dopo averlo reso scrivibile) per modificare / rimuovere i riferimenti e generalmente giocherellare.

Disinstallazione di VB6 e reinstallazione (ciò che pensavo fosse l’ultima risorsa) Il problema si stava verificando in un nuovo progetto e non solo in quelli esistenti.

NESSUNO di quanto sopra ha funzionato, ma il seguente ha fatto

 Open VB6 New project >Project >Components Tick the following: Microsoft flexigrid control 6.0 (sp6) Microsoft MAPI controls 6.0 Microsoft Masked Edit Control 6.0 (sp3) Microsoft Tabbed Dialog Control 6.0 (sp6) >Apply 

Dopo questo, non potevo ancora selezionare il codice a barre Active X o Windows Common Contols 6.0 e Windows Common Control 2 6.0, ma quando ho fatto clic su Applica, il messaggio è stato modificato da Non registrato, a quello era già nel progetto.

 >exit the components dialog and then load project. 

Questa volta ha funzionato. Ho provato di nuovo la finestra di dialogo dei componenti e ora i tre mancanti erano spuntati. Adesso tutto sembra a posto.

… e sulla mia macchina W7 a 64 bit, con VB6 installato … in DOS, come Admin, questo ha funzionato per risolvere un problema OCX che stavo avendo con una App VB6:

 cd C:\Windows\SysWOW64 regsvr32 mscomctl.ocx regtlib msdatsrc.tlb 

SÌ! Questa soluzione ha risolto il problema che avevo utilizzando MSCAL.OCX (il controllo di calendario di Microsoft) in VB6.

Grazie ragazzi! 🙂

Basta eseguire i seguenti comandi nel prompt dei comandi,

Per macchina a 32 bit,

 cd C:\Windows\System32 regsvr32 mscomctl.ocx regtlib msdatsrc.tlb 

Per macchine a 64 bit,

 cd C:\Windows\SysWOW64 regsvr32 mscomctl.ocx regtlib msdatsrc.tlb 

È ansible eseguire lo strumento da Microsoft in questo KB http://support.microsoft.com/default.aspx?scid=kb;en-us;Q195353 per correggere i problemi di licenza per i precedenti controlli ActiveX. Questo ha funzionato per me.

Per risolvere il problema di Win7 32 bit VB6, provare a copiare da Windows Server 2003 C:\Windows\system32\ i file mscomctl.ocx e mscomcctl.oba .