web-dev-qa-db-fra.com

Bibliothèque d'objets non enregistrée lors de l'ajout de contrôles communs Windows 6.0

J'essaie d'installer Visual Studio 6 sur un ordinateur Windows 7 32 bits.

L'intérieur de l'OS était en métal nu.

J'ai suivi les instructions mentionnées ici (que j'ai déjà utilisées)

L'installation s'est bien déroulée, aucune erreur n'a été signalée, mais lorsque j'essaie d'ajouter le Microsoft Windows Common Controls 6.0 à la boîte à outils, l'erreur "Bibliothèque d'objets non enregistrée" est générée.

J'ai essayé de faire une désinstallation manuelle et de réinstaller OCX, ce qui a réussi mais j'ai toujours la même erreur.

J'ai essayé d'installer SP6 et celui installé sans erreur (et mis à jour l'OCX vers une version plus récente) mais j'ai toujours le même problème.

MODIFIER:

Comme mentionné ci-dessous, il semble que la mise à jour IE10 rompt le fichier MSCOMCTL.ocx. Cependant, je pense aussi que cela a quelque chose à voir avec la commande car j'ai une autre machine Windows 7 avec IE10 qui fonctionne bien.

27
Matt Wilko

Sur les machines 32 bits:

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

ou sur des machines 64 bits:

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

Ceux-ci doivent être exécuté en tant qu'administrateur .

64
Ofer Zelig

Je peux confirmer que cela n’est pas réparable en annulant l’enregistrement et en enregistrant le fichier MSCOMCTRL.OCX comme auparavant. J'ai essayé de déterminer quelle mise à jour est la source du problème et il semble que ce soit IE10 ou IE10, en combinaison avec une autre mise à jour à l'origine du problème. Si je peux avoir plus de temps pour y investir, je mettrai à jour mon message, mais en attendant, désinstaller IE10 résout le problème.

2
RickF

J'ai eu le même problème. VB6 Win7 64 bits et ont trouvé une solution très simple, alors je me suis dit que ce serait une bonne idée de la partager ici au cas où cela pourrait aider quelqu'un d'autre.

J'ai d'abord essayé ce qui suit sans succès:

  • annulé et réenregistrement de MSCOMCTL, MSCOMCTL2 et des contrôles X à code-barres actifs dans chaque répertoire auquel je pouvais penser (VB98, système 32, sysWOW64, dossier de projet.) 

  • Suppression du dossier de travail et récupération de tout. (par la source sûre)

  • Copier les fichiers OCX à partir d’une machine sans aucun problème et les enregistrer.

  • Installation du service pack 6

  • Installation des outils MZ - cela valait la peine d'essayer

  • Installation de la version distribuable du projet.

  • Éditer manuellement le fichier vbp (après l’avoir rendu accessible en écriture) pour modifier/supprimer les références et le violon en général.

  • Désinstallation de VB6 et réinstallation (je pensais que c'était un dernier recours) Le problème se posait sur un nouveau projet et pas seulement sur ceux existants.

NONE de ce qui précède a fonctionné, mais ce qui suit a fait

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

Après cela, je ne pouvais toujours pas cocher Barcode Active X ou le contrôle commun Windows 6.0 et le contrôle commun Windows 6.0, mais lorsque je cliquais sur Appliquer, le message n'était plus enregistré, il était déjà dans le projet. 

>exit the components dialog and then load project. 

Cette fois cela a fonctionné. J'ai essayé à nouveau le dialogue des composants et les trois manquants étaient maintenant cochés. Tout semble aller bien maintenant.

0
Lee Chetwynd

... et sur ma machine W7 64 bits, avec VB6 installé ... sous DOS, en tant qu'administrateur, cela a permis de résoudre un problème OCX que j'avais avec une application VB6:

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

OUI! Cette solution a résolu le problème lié à l'utilisation de MSCAL.OCX (contrôle de calendrier Microsoft) dans VB6.

Merci les gars! :-)

0
Jopin

Vous venez d'exécuter les commandes suivantes dans votre invite de commande,

Pour machine 32 bits,

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

Pour machine 64 bits,

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