Vous recevez un message d’erreur « Vous n’avez pas une licence d’utilisation de ce contrôle » lorsque vous utilisez les contrôles Visual Basic 6.0 dans Visual Studio 2005 ou dans Visual Studio .NET

Symptômes

Lorsque vous utilisez des contrôles ActiveX de Microsoft Visual Basic 6.0 dans Microsoft Visual Studio 2005 ou dans Microsoft Visual Studio .NET, vous pouvez rencontrer les problèmes suivants :
  • Lorsque vous essayez d'ajouter un contrôle ActiveX qui était fourni avec Visual Basic 6.0 à un formulaire dans Visual Studio 2005 ou dans Visual Studio .NET, le message d'erreur suivant s'affiche :
    Vous n’avez pas d’une licence d’utilisation de ce contrôle ActiveX.
    Vous pouvez ajouter le contrôle à la boîte à outils avec succès, mais vous recevez ce message d’erreur lorsque vous ajoutez le contrôle au moment du design.
  • Lorsque vous mettez à niveau un projet Visual Basic 6.0 vers Visual Studio 2005 ou Visual Studio .NET, le message d’erreur suivant s’affiche lorsque l’Assistant Mise à niveau analyse dans les formulaires :
    Erreur de l’Assistant de mise à niveau de Visual Basic
    Mise à niveau a échoué : Exception s’est produite : Impossible de charger le composant référencé : comdlg32.ocx(1.2.0)
    Vous devez installer ce composant avant de mettre à niveau le projet. Il est recommandé de vous installez VB6.0, avec tous les composants référencés et assurez-vous que l’application compile et s’exécute avant la mise à niveau.
    Lorsque vous cliquez sur OK, l’Assistant se ferme et le processus de conversion s’arrête.

Cause

Vous devez disposer d’une licence au moment du design à utiliser les contrôles de Visual Basic 6.0 ActiveX. Ces erreurs se produisent parce que le Registre du système ne contient-elle pas les informations de licence au moment du design. Lorsque vous mettez à niveau un projet qui contient les contrôles Visual Basic 6.0 ActiveX, ou lorsque vous essayez d’utiliser les contrôles Visual Basic 6.0 ActiveX sur un formulaire dans Visual Studio 2005 ou dans Visual Studio .NET, ces contrôles doivent être installés et la licence sur le système cible.

Visual Studio 2005 et Visual Studio .NET n’installent pas les informations de licence pour les contrôles de Visual Basic 6.0 ActiveX à moins que les contrôles de Visual Basic 6.0 sont installés sur l’ordinateur qui exécute Visual Studio 2005 ou Visual Studio .NET. Ce problème peut se produire si Visual Basic 6.0 n’a jamais été installé sur l’ordinateur.

Vous ne recevez pas ces erreurs sur un ordinateur sur lequel à la fois Visual Basic 6.0 et Visual Studio 2005 ou Visual Studio .NET sont installés car installe les composants de Visual Basic 6.0 et enregistre les licences.

Résolution

Pour résoudre ce problème, vous devez installer les fichiers .ocx pour les contrôles ActiveX sur l’ordinateur avant de vous mettre à niveau le projet ou avant d’utiliser les contrôles de Visual Basic 6.0 ActiveX sur un formulaire dans Visual Studio 2005 ou dans Visual Studio .NET. Pour ce faire, utilisez une des méthodes suivantes :
  • Installer Visual Basic 6.0 sur l’ordinateur qui exécute Visual Studio 2005 ou Visual Studio .NET.
  • Ajouter les clés de licences dans le Registre.

Méthode 1 : Installation de Visual Basic 6.0 sur l’ordinateur qui exécute Visual Studio 2005 ou Visual Studio .NET

Contrairement aux versions antérieures de Visual Basic, il n’existe aucun conflit entre Visual Basic 6.0 et Visual Studio 2005 ou Visual Studio .NET lorsque vous installez ces programmes sur le même système. Dans de nombreux cas, Microsoft recommande d’installer Visual Basic 6.0 sur l’ordinateur qui exécute Visual Studio 2005 ou Visual Studio .NET.

Si Visual Basic 6.0 est disponible sur l’ordinateur, vous pouvez modifier le projet Visual Basic 6.0 d’origine plus facilement avant de vous mettre à niveau vers Visual Studio 2005 ou Visual Studio .NET. Pour plus d’informations sur l’installation de Visual Basic 6.0 et comment mettre à niveau un projet à partir de Visual Basic 6.0 vers Visual Studio 2005 ou Visual Studio .NET, consultez la section « Références ».

Méthode 2 : Ajouter les clés de licences dans le Registre

Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows


Pour ajouter les clés de licences pour les contrôles Visual Basic 6.0 dans le Registre, procédez comme suit :
  1. Insérer le Visual Studio 2005 ou Visual Studio .NET Installation disque contenant le dossier de contrôles \Extras\VB6 dans la dans le lecteur de CD-ROM ou de DVD-ROM. La liste suivante décrit les disques à utiliser pour chaque édition sur le CD-ROM du produit :


    Visual Studio 2005 (pas le disque de Microsoft Developer Network [MSDN])
    • Édition professionnelle - disque 2
    • Édition standard - disque 1
    Remarque Le fichier de Registre VB6Controls.reg n’est pas sur le support de distribution pour tous les produits Visual Studio 2005.

    Visual Studio .NET 2003 (et pas le disque MSDN)
    • Toutes les éditions d’entreprise - disque 2
    • Édition professionnelle - disque 2
    • Édition standard - disque 1
    • Édition Éducation - disque 2
    Visual Studio .NET 2002 (pas le disque MSDN)
    • Toutes les éditions d’entreprise - disque 4
    • Édition professionnelle - disque 4
    • Édition standard - disque 3
    • Édition Éducation - disque 4
  2. Cliquez sur Démarrer, puis cliquez sur exécuter.
  3. Dans la boîte de dialogue exécuter , tapez regedit, puis cliquez sur OK.
  4. Dans la boîte de dialogue Éditeur du Registre , cliquez sur Importer dans le menu fichier .
  5. Recherchez le dossier de contrôles \Extras\VB6 sur le CD-ROM d’Installation, sélectionnez le fichier VB6Controls.reg, puis cliquez sur Ouvrir. Cette étape insère toutes les clés de licence des contrôles de Visual Basic 6.0 ActiveX dans le Registre.

État

Microsoft a confirmé qu'il s'agissait d'un bogue dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Les fichiers .ocx se trouvent dans le sous-dossier SYSTEM32 du dossier Windows. La liste suivante répertorie certains des contrôles ActiveX et les noms de fichier correspondants :
  • ADO Data Control 6.0 (OLEDB) - Msadodc.ocx
  • Contrôle de graphique 6.0 - Mschrt20.ocx
  • Contrôle de graphique 6.0 (OLEDB) - Mschrt20.ocx
  • Contrôle de comm 6.0 - Mscomm32.ocx
  • Common Dialog Control 6.0 - Comdlg32.ocx
  • Contrôle de grille liée à des données 5.0(SP3) - Dbgrid32.ocx
  • Contrôles de liste 6.0 - Dblist32.ocx liés aux données
  • DataGrid Control 6.0 (OLEDB) - Msdatgrd.ocx
  • Contrôle dataList 6.0 (OLEDB) - Msdatlst.ocx
  • FlexGrid Control 6.0 - Msflxgrd.ocx*
  • Contrôle Internet Transfer 6.0 - Msinet.ocx
  • Contrôles MAPI 6.0 - Msmapi32.ocx
  • Contrôle Masked Edit 6.0 - Msmask32.ocx
  • Contrôle multimédia 6.0 - Mci32.ocx
  • Contrôle RemoteData 6.0 - Msrdc20.ocx
  • Jeu d’images contrôle 6.0 - Picclp32.ocx
  • Contrôle de zone de texte enrichi 6.0 - Richtx32.ocx
  • Contrôle SysInfo 6.0 - Sysinfo.ocx
  • Contrôles sans fenêtre 6.0 - Mswless.ocx
  • Contrôles communs Windows - Comctl32.ocx
  • Contrôles communs de Windows 6.0 - Mscomctl.ocx
  • Contrôles communs-2 Windows 5.0 (SP2) - Comct232.ocx
  • Windows Common Controls-2 6.0 - Mscomct2.ocx
  • Windows les contrôles courants-3 6.0 - Comct332.ocx
  • Winsock Control 6.0 - Mswinsck.ocx
* Dans Visual Studio .NET 2002, le fichier VB6Controls.reg inclus la licence pour FlexGrid Control 6.0 est incorrect. Toutefois, dans Visual Studio .NET 2003, le fichier VB6Controls.reg a été corrigé.


Remarque Vous devez disposer d’un contrat de licence de Visual Studio pour obtenir ce fichier Vb6control.reg corrigé. Il n’y a aucun frais pour ce service de support.


Pour obtenir une liste complète des numéros de téléphone des Services de Support technique Microsoft et des informations sur les coûts de support, visitez le site Web de Microsoft à l'adresse suivante :

Procédure pour reproduire le comportement

Erreur lorsque vous essayez d’ajouter un contrôle ActiveX à un formulaire dans Visual Studio 2005 ou dans Visual Studio .NET

  1. Installez Visual Studio 2005 ou Visual Studio .NET sur l’ordinateur A. Assurez-vous que Visual Basic 6.0 n’a jamais été installé sur cet ordinateur.
  2. Installer uniquement le Visual Basic 6.0 sur l’ordinateur B.
  3. Copier un fichier .ocx de Visual Basic dans le dossier SYSTEM32 de l’ordinateur B dans le dossier SYSTEM32 de l’ordinateur A.
  4. Sur l’ordinateur A, démarrez Visual Studio 2005 ou Visual Studio .NET et puis créer un nouveau projet d’Application Windows dans Microsoft Visual Basic 2005 ou Microsoft Visual Basic .NET.
  5. Avec le bouton droit dans la boîte à outils, puis cliquez sur Personnaliser la boîte à outils.
  6. Sous l’onglet Composants COM , cliquez sur Parcourir.
  7. Sélectionnez le fichier .ocx que vous avez copié à l’étape 3, puis cliquez sur Ouvrir. Notez que le contrôle est ajouté à la liste et que sa case à cocher est activée. Cliquez sur OK.
  8. Faites glisser le contrôle ActiveX à partir de la boîte à outils vers le formulaire. Le message d'erreur suivant s'affiche :
    Vous n’avez pas d’une licence d’utilisation de ce contrôle ActiveX.

Erreur de l’Assistant Mise à niveau

  1. Installez Visual Studio 2005 ou Visual Studio .NET sur un ordinateur où Visual Basic 6.0 n’a jamais été installé.
  2. Démarrez Visual Studio 2005 ou Visual Studio .NET.
  3. Dans le menu fichier , cliquez sur Ouvrir.
  4. Sélectionnez un projet Visual Basic 6.0 qui contient un contrôle ActiveX sur le formulaire, puis cliquez sur OK. Cette opération démarre l’Assistant Mise à niveau.
  5. Suivez les étapes de l’Assistant Mise à niveau. Le message d'erreur suivant s'affiche :
    Erreur de l’Assistant de mise à niveau de Visual Basic

    Mise à niveau a échoué : Exception s’est produite : Impossible de charger le composant référencé : comdlg32.ocx(1.2.0)
    Vous devez installer ce composant avant de mettre à niveau le projet. Il est recommandé de vous installez VB6.0, avec tous les composants référencés et assurez-vous que l’application compile et s’exécute avant la mise à niveau.
  6. Cliquez sur OK dans la boîte de dialogue d’erreur. Notez que l’Assistant Mise à niveau se ferme.

Références

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

311324 installer le .NET de Visual Basic ou Visual Basic 2005, dans le même ordinateur qu’un 6.0 de Visual Basic mise à niveau de projet

Propriétés

ID d'article : 318597 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires