Получение COM-объекта для запуска в Vista - PullRequest
2 голосов
/ 19 мая 2010

Мы предоставляем интерфейс для нашего программного обеспечения для моделирования, используя объект COM / ActiveX. Это хорошо работало в XP, но в Vista мы получаем «Ошибка 429: ActiveX не может создать объект», когда клиент VB выполняет CreateObject ().

COM-объект был зарегистрирован вручную, так что реестр Vista идентичен реестру XP. Я запускаю интерфейс VB из окна DOS, которое я начал использовать «Запуск от имени администратора». Клиент правильно обращается к реестру и читает его, пока я использую отладчик в VB, поэтому, насколько я могу судить, это не параметр безопасности.

Я также загрузил файлы в VS2005 (объект был изначально создан в VS6) и перестроил их, чтобы получить более позднюю версию ATL, но это не помогло - мы все равно получаем ошибку 429.

Является ли это симптомом проблем с UAC или мне следует поискать что-то более глубокое?

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Во-первых, вы запустили regsvr32.exe или просто взломали реестр? Если последнее, попробуйте запустить regsvr32.exe.

Кроме того, убедитесь, что у вас есть все зависимости объекта ActiveX и что kill-bit не был установлен для объекта ActiveX или его зависимостей, если ваше программное обеспечение для моделирования использует механизм сценариев для создать экземпляр объекта ActiveX.

1 голос
/ 19 мая 2010

все зависимости установлены на Vista?может случиться так, что какая-то dll, которая была стандартной в XP, не на Vista, поэтому теперь вам нужно будет установить ее.открыть

...