web-dev-qa-db-fra.com

Comment résoudre "l'erreur d'exécution '429': le composant ActiveX ne peut pas créer d'objet"?

Ma société possède une application VB6 utilisant Crystal Reports 7 et qu'un client a demandé d'installer sur Windows 7 32 bits. Il est actuellement installé sur les ordinateurs Windows XP 32 bits SP2 sur le client. La connexion à la base de données s'effectue via ODBC vers une instance SQL Server 2000 sur un autre serveur.

Sous Windows 7, l'installation fonctionne correctement. Toutefois, lorsque vous essayez d'ouvrir l'application, l'erreur est générée.

J'ai regardé ce qui suit:

  • Enregistrement de tous les fichiers dll et ocx à l'aide de regsvr32. Certains ne seront pas enregistrés car ils sont déjà enregistrés ou le message suivant est indiqué "Assurez-vous que" [nom] .dll "est un fichier DLL ou OCX valide, puis réessayez". J'ai lu ce fil de discussion à ce sujet: http://social.msdn.Microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
  • Surveillé l'ouverture de l'application à l'aide d'une application ProcessMonitor pour essayer de détecter s'il manquait une dll ou un fichier ocx - cela ne semble pas être le cas.
  • A examiné la candidature en fonction de cette liste et rien ne semble s'être opposé à ces directives

J'ai remarqué deux éléments dans la base de connaissances qui concernent cette

  • http://support.Microsoft.com/kb/281848 - le fichier comdlg32.ocx fourni avec l'application est la version 6.0.81.69 et celui du dossier system32 sur la machine de développement (WinXP 32 bits) est 6.1.97.82. Cependant, si tel était le problème, cela ne fonctionnerait sûrement pas actuellement? 
  • http://support.Microsoft.com/kb/184898 - Je ne sais pas comment confirmer que c'est bien le problème

Enfin, en raison de complexités, je ne suis pas autorisé à modifier le code de cette application. Même si je l'étais, je ne suis pas un programmeur VB6, je suis juste le gars qui a eu le projet terriblement supporté! Si des modifications de code sont nécessaires, je devrai alors étudier en utilisant le mode WinXP.

Update: la même erreur se produit en mode XP. C'est une victoire XP avec une machine virtuelle SP3. Cela fonctionne sur une machine virtuelle Win XP SP2. Existe-t-il potentiellement quelque chose dans le SP3 qui aurait pu provoquer cette situation? Ou est-ce juste un fait qu'il s'agisse du mode XP?

12
RLT

Le fichier msrdo20.dll est absent de l'installation.

Selon l'instruction de prise en charge de Visual Basic 6.0 sous Windows Vista, Windows Server 2008 et Windows 7 ce fichier doit être distribué avec l'application.

Je ne sais pas pourquoi, mais ma solution consiste à placer le fichier quelque part sur la machine et à l'enregistrer à l'aide de regsvr32 dans la ligne de commande, par exemple:

regsvr32 c:\windows\system32\msrdo20.dll

Dans un monde idéal, vous regrouperiez cela avec le redistribuable.

3
RLT

J'ai la même erreur mais j'ai résolu en utilisant regsvr32.exe dans C:\Windows\SysWOW64 . Parce que nous utilisons le système x64 Donc si votre machine est aussi x64, le fichier ocx/dll doit être enregistré aussi avec la version regsvr32 x64

4
unbalanced

Ce téléchargement a corrigé mon erreur d’exécution 429 au moment de l’exécution de mon VB6 EXE et de mon Access 2016 (avec ACEDAO.DLL). Il m’a fallu 2 longs jours pour le résoudre, car il ya tant de causes à 429.

http://www.Microsoft.com/en-ca/download/details.aspx?id=13255

QUOTE from link: "Ce téléchargement installera un ensemble de composants pouvant être utilisés pour faciliter le transfert de données entre des fichiers Microsoft Office System 2010 et des applications non-Microsoft Office"

1
Harvard

Vous dites que cela fonctionne une fois que vous avez installé le VB6 IDE, de sorte que le problème vient probablement du fait que les composants que vous essayez d'utiliser dépendent de l'exécution du moteur d'exécution VB6.

Le moteur d'exécution VB6 n'est pas installé sur Windows par défaut.

L'installation de IDE est un moyen d'obtenir le moteur d'exécution. Pour les machines non destinées aux développeurs, utilisez plutôt un package d'installation "redistribuable" de Microsoft.

Voici un programme d’installation VB6 de Microsoft. Je ne sais pas si ce sera la bonne version pour vos composants:

http://www.Microsoft.com/downloads/en/details.aspx?FamilyID=7b9ba261-7a9c-43e7-9117-f673077ffb3c

0
Leo Davidson