2011-01-17 2 views
3

Кажется, я бегу в проблему, когда я бегу VBScript, когда он создает COM-объект, но только под управлением Windows 7.Регистрация COM объектов в Windows 7 (64 бит)

При запуске VBA скрипта получить:

Script: C:\Program Files\... 
Line: 2 
Char: 1 
Error: ActiveX Component can't create object: 'my object' 
Code: 800A01AD 
Source: Microsoft VBScript runtime error 

Я использовал командную строку (администратора), чтобы зарегистрировать DLL с regsvr32, но когда это работает я получаю другую ошибку:

The module "my dll" was loaded but the entry-point DLLRegisterServer was not found. 
Make sure that "my dll" is a valid DLL or OCX file and then try again 

я в настоящее время работает Windows 7 64 Bit. Скрипт работает на компьютерах под управлением Windows XP, но я не знаю о компьютерах с Windows Vista (их нет для тестирования). Я использовал OLE-COM Object Viewer, чтобы узнать, зарегистрирована ли она, но файл не был показан.

Это проблема с Windows 7 или 64-разрядными машинами или их комбинацией.

+1

Попробуйте 32-разрядные версии regsvr32.exe и cscript.exe в C: \ Windows \ syswow64. –

ответ

3

попробовать регистрации вашего компонента с% WINDIR% \ syswow64 \ regsvr32 и работает ваш VBS файл с% WINDIR% \ syswow64 \ cscript.exe

ваш COM компонент, вероятно, 32-битной, так что вы должны использовать 32-битные инструменты на 64-битных окнах, чтобы заставить его работать.

спасибо, знак

+2

REGSVR32.EXE фактически распознает битрейт DLL и правильно регистрирует его. Вы правильно знаете, что нужно запускать правильный CSCRIPT.EXE. –

+0

Удивительно, спасибо. Я не знал о файле CSCRIPT.EXE –

Смежные вопросы