web-dev-qa-db-fra.com

Impossible d'utiliser CreateObject à partir de VB sur Windows 7 x64

Lorsque j'essaie de créer un objet COM dans le script VB sur une machine Windows 7 (64 bits), j'obtiens toujours l'erreur suivante:

"Le composant ActiveX ne peut pas créer l'objet 'xxx.xxx'. Code: 800A01AD

J'ai des applications qui utilisent sans problème l'objet COM. J'ai essayé d'exécuter la ligne de commande en mode administrateur, aucune différence.

Existe-t-il un moyen d'activer cela?

29
Dave Lee

L'interpréteur VBScript (cscript.exe/wscript.exe) est disponible en deux versions sur une version 64 bits de Windows: une version 32 bits et une version 64 bits.

La version 32 bits peut créer et utiliser des composants COM 32 bits uniquement, et la version 64 bits peut créer et utiliser uniquement des composants COM 64 bits.

Par défaut, les fichiers .vbs sont associés à la version 64 bits. Votre composant COM est probablement un 32 bits, d'où l'erreur.

Vous pouvez trouver la version 32 bits dans le %windir%\SysWOW64 dossier. Le lancement de cette version devrait vous donner accès à tous les composants COM 32 bits:

%windir%\SysWOW64\wscript.exe myScript.vbs

ou

%windir%\SysWOW64\cscript.exe myScript.vbs
52
Dirk Vollmar