Runtime error 429 activex component can t create object как исправить

Обновлено: 04.07.2024

моя компания имеет приложение VB6 с использованием Crystal Reports 7, которое клиент попросил установить на Windows 7 32 бит. В настоящее время он установлен на компьютерах Windows XP 32bit SP2 на клиенте. Подключение к БД осуществляется через ODBC к экземпляру SQL Server 2000 на другом сервере.

в Windows 7 установка работает нормально, однако при попытке открыть приложение выдается ошибка.

Я посмотрел на следующий:

Я заметил два элемента в базе знаний, которые относятся к этому

наконец, из-за сложностей мне не разрешено вносить изменения в код этого приложения. Даже если бы я был, я не программист VB6, просто парень, который получил ужасно проект поддержки! Если требуются изменения кода, мне придется исследовать использование WinXP режим.

обновление: я получаю ту же ошибку в режиме XP. Это Win XP с SP3 VM. Это работает на виртуальной машине Win XP SP2, есть ли потенциально что-то в SP3, что вызвало бы это? Или это просто факт, что это режим XP?

в msrdo20 файл.dll отсутствует в установке.

Я не уверен, почему это не так, но мое решение-разместить файл где-нибудь на машине и зарегистрировать его с помощью regsvr32 в командной строке, например:

в идеальном мире вы бы пакет с распространяемый пакет.

эта загрузка исправила мой VB6 EXE и доступ к 2016 (используя ACEDAO.DLL) Ошибка времени выполнения 429. Мне потребовалось 2 долгих дня, чтобы решить это, потому что есть так много причин 429.

цитата из ссылки: "Эта загрузка установит набор компонентов, которые могут быть использованы для облегчения передачи данных между системными файлами Microsoft Office 2010 и приложениями, не относящимися к Microsoft Office"

вы говорите, что он работает после установки VB6 IDE, поэтому проблема, вероятно, будет в том, что компоненты, которые вы пытаетесь использовать, зависят от установленной среды выполнения VB6.

среда выполнения VB6 по умолчанию не установлена в Windows.

установка IDE-один из способов получить среду выполнения. Для компьютеров, не являющихся разработчиками, вместо этого следует использовать" распространяемый " пакет установщика от Microsoft.

вот один установщик времени выполнения VB6 от Microsoft. Я не уверен, что это будет правильная версия для ваших компонентов:

Версия данной статьи для Microsoft Office XP, Office 2000 и Office 97: 244264.

Аннотация

Ошибка выполнения '429': Компоненту ActiveX не удается создать объект

Данная ошибка возникает, когда модели COM (Component Object Model) не удается создать необходимый объект Automation, и поэтому объект Automation оказывается недоступен для Visual Basic. Эта ошибка возникает не на всех компьютерах.

В данной статье описывается диагностика и устранение часто встречающихся проблем, которые могут приводить к возникновению этой ошибки.

Дополнительная информация

В Visual Basic существует несколько причин ошибки 429. Данная ошибка возникает при выполнении одного из следующих условий:

Наличие ошибки в приложении.

Наличие ошибки в конфигурации системы.

Отсутствие какого-либо компонента.

Наличие поврежденного компонента.

Чтобы найти причину возникновения ошибки, необходимо изолировать проблему. Если ошибка 429 возникает на клиентском компьютере, используйте приведенные ниже сведения, чтобы изолировать и устранить ошибку в приложениях Microsoft Office.

Примечание. Некоторые из приведенных ниже сведений применимы также к COM-серверам без Microsoft Office. Однако в данной статье предполагается, что ошибка связана с автоматизацией приложений Microsoft Office.

Проверка кода

Прежде чем приступить к устранению ошибки, следует попытаться изолировать отдельную строку кода, из-за которой может возникать проблема.

В случае обнаружения отдельной строки кода, которая является причиной возникновения проблемы, выполните перечисленные ниже действия.

Проверьте, что в коде используется явное создание объекта.

Проблемы легче обнаружить, если можно сузить поле поиска до отдельного действия. Например, найдите использование неявного создания объекта в приведенных ниже примерах.

В обоих примерах используется неявное создание объекта. Microsoft Office Word 2003 не запускается до первого вызова переменной. Поскольку код вызова переменной может быть расположен в различных частях программы, локализация проблемы может оказаться непростой задачей. Бывает сложно определить, когда возникает проблема: при создании объекта Application или при создании объекта Document.

Вместо этого можно указать явные вызовы для создания каждого объекта в отдельности, как показано ниже.

При использовании явных вызовов для создания каждого объекта по отдельности изолировать проблему легче. Это также может сделать код более удобным для чтения.

При создании экземпляра приложения Microsoft Office используйте функцию CreateObject вместо оператора New.

Функция CreateObject устанавливает тесное соответствие с процессом создания, который используется большинством клиентов Microsoft Visual C++. Функция CreateObject также позволяет изменять идентификатор CLSID сервера между версиями. Функцию CreateObject можно использовать с объектами с ранней и поздней привязкой.

Убедитесь, что строка "ProgID", переданная функции
CreateObject, является верной, а затем убедитесь, что она не зависит от версии. Например, используйте строку "Excel.Application" вместо строки "Excel.Application.8". В системе, где возникает проблема, может быть установлена более старая или более новая версия Microsoft Office, отличная от версии, указанной в строке "ProgID".

Используйте команду Erl, чтобы вывести номер строки кода, в которой возникает ошибка. Это может облегчить отладку приложений, которые не запускаются в интегрированной среде разработки. Следующий код сообщает, какой объект
Automation не удается создать (Microsoft Word или Microsoft Office Excel 2003):

Для отслеживания ошибки используйте функцию MsgBox и номер строки.

Используйте позднюю привязку следующим образом:

Для объектов с ранней привязкой необходимо, чтобы их настраиваемые интерфейсы были маршалированы через границы процессов. Если настраиваемый интерфейс нельзя маршалировать при
выполнении функции CreateObject или оператора New, выводится ошибка 429. Объект с поздней привязкой использует определенный системой интерфейс IDispatch, который не требует маршалирования настраиваемого прокси. Чтобы проверить правильность выполнения этой процедуры, используйте объект с поздней привязкой.

Если проблема возникает только при использовании объекта с ранней привязкой, это свидетельствует о наличии проблемы в серверном приложении. Как правило, чтобы устранить проблему, достаточно переустановить приложение, как описано в разделе "Проверка сервера автоматизации" данной статьи.

Проверка сервера автоматизации

Наиболее распространенной причиной возникновения ошибки при выполнении функции CreateObject или оператора New является проблема с серверным приложением. Обычно причиной возникновения проблемы является установка или конфигурация приложения. Чтобы устранить неполадки, выполните перечисленные ниже действия.

Убедитесь в том, что приложение Microsoft Office, которое необходимо автоматизировать, установлено на локальном компьютере. Убедитесь в возможности запуска приложения. Для этого нажмите кнопку Пуск, выберите команду
Выполнить и попробуйте запустить приложение. Если приложение не запускается вручную, автоматизировать его нельзя.

Перерегистрируйте приложение описанным ниже образом.

В меню Пуск выберите
команду Выполнить.

В диалоговом окне Выполнить введите путь к серверу и в конце строки добавьте параметр /RegServer.

Приложение будет запущено без запроса. Приложение будет перерегистрировано как COM-сервер.

Если причиной возникновения проблемы является отсутствие раздела реестра, в большинстве случаев выполнение перечисленных ниже действий приводит к устранению проблемы.

Проверьте раздел LocalServer32 в разделе CLSID приложения, которое необходимо автоматизировать. Убедитесь в том, что раздел LocalServer32 указывает на правильное местоположение приложения. Проверьте, чтобы путь был указан в кратком формате (DOS 8.3). Сервер не обязательно регистрировать с использованием краткого пути. Однако длинные пути, включающие пробелы, в некоторых системах могут являться причиной возникновения проблем.

Чтобы проверить раздел пути, сохраненного для сервера, запустите редактор реестра описанным ниже образом.

В меню Пуск выберите
команду Выполнить.

Введите regedit, а затем нажмите кнопку
ОК.

Перейдите в раздел HKEY_CLASSES_ROOT\CLSID.

Чтобы найти раздел, представляющий приложение Microsoft Office, которое необходимо автоматизировать, используйте приведенные ниже значения раздела CLSID. Поверьте в разделе CLSID путь, указанный в разделе LocalServer32.

Сервер Microsoft Office Server

Проверьте, чтобы путь соответствовал реальному местоположению файла.

Примечание. Краткие пути могут иногда казаться правильными ошибочно. Например: и Microsoft Office, и Microsoft Internet Explorer (если они установлены в папки по умолчанию) имеют краткий путь вида C:\PROGRA

X\ (где
X — это число). Этот путь может сначала не показаться кратким путем.

Чтобы определить, что путь указан верно, выполните перечисленные ниже действия.

В меню Пуск выберите
команду Выполнить.

Скопируйте значение из реестра и вставьте его в поле диалогового окна Выполнить.

Примечание. Перед запуском приложения удалите параметр /automation.

Проверьте правильность запуска приложения.

Проверьте шаблон Normal.dot или файл ресурсов Excel.xlb на предмет возможного повреждения. Проблемы при автоматизации Microsoft Word или Microsoft Excel могут возникать вследствие повреждения шаблона Normal.dot в Microsoft Word или файла ресурсов Excel.xlb в Microsoft Excel. Чтобы проверить эти файлы, выполните поиск всех экземпляров Normal.dot или Excel.xlb на локальном жестком диске.

Примечание. В системах с Microsoft Windows 2000 или Microsoft Windows XP может присутствовать несколько копий этих файлов. Для каждого профиля пользователя, установленного в системе, имеется одна копия каждого из этих файлов.

Временно переименуйте файлы Normal.dot или Excel.xlb и повторно запустите проверку автоматизации. Если Microsoft Word и Microsoft Excel не находят эти файлы, они создают их снова. Убедитесь, что код работает. Если при создании нового файла Normal.dot код работает, удалите переименованные файлы. Эти файлы повреждены. Если код не работает, необходимо обратно переименовать эти файлы, чтобы сохранить пользовательские параметры, сохраненные в этих файлах.

На компьютере с операционной системой Windows 2000 можно запустить приложение с учетной записью администратора. Серверы Microsoft Office Server должны иметь доступ на чтение и запись к реестру и дисковому накопителю. Если текущие параметры безопасности запрещают доступ на чтение и запись, загрузка серверов Microsoft Office Server может выполняться с ошибками.

Проверка системы

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

Определите, возникает ли проблема с каким-либо сервером вне процесса. Если приложение использует определенный COM-сервер (например, Microsoft Word), проверьте другой сервер вне процесса, чтобы убедиться в том, что проблема не связана непосредственно с уровнем COM. Если на компьютере не удается создать внепроцессный COM-сервер, переустановите системные файлы OLE, как описано в разделе "Переустановка Microsoft Office" данной статьи, или переустановите операционную систему, чтобы устранить проблему.

Проверьте номера версий системных файлов OLE, которые управляют автоматизацией. Эти файлы обычно устанавливаются в наборе. Номера сборки этих файлов должны совпадать. Неправильно настроенная программа установки может ошибочно установить файлы по отдельности. В этом случае файлы не будут сочетаться. Чтобы избежать проблем при автоматизации, убедитесь, что номера сборки этих файлов совпадают.

Файлы автоматизации расположены в каталоге Windows\System32 или в каталоге Winnt\System32. Проверьте перечисленные ниже файлы.

Ошибка 429 в значительной степени является следствием попытки программного обеспечения получить доступ к поврежденным файлам. Таким образом, последовательность автоматизации не может работать как в сценарии. Это может быть связано с повреждением реестра, удалением файлов ОС, неполной установкой программного обеспечения или повреждением системных файлов.

Таким образом, существуют различные возможные исправления для ошибки ActiveX 429.

Перерегистрировать программу

Вот как вы можете перерегистрировать программное обеспечение с помощью Run:

  • Во-первых, убедитесь, что у вас есть права администратора с учетной записью администратора Windows.
  • Нажмите клавишу Win + R, чтобы открыть Run.
  • Введите полный путь к программному обеспечению, а затем/regserver в текстовом поле, как показано ниже. Введите точный путь, включая исполняемый файл, программного обеспечения, которое необходимо перерегистрировать.


Узнайте все, что нужно знать об учетной записи администратора и о том, как ее можно включить/отключить прямо здесь!

Перерегистрировать указанный файл

  • Закройте все открытые программные окна.
  • Откройте командную строку в Windows 10, нажав клавишу Win + горячую клавишу X и выбрав в меню Командная строка (Администратор) . В качестве альтернативы, вы можете ввести «cmd» в поле поиска меню «Пуск», чтобы открыть подсказку.
  • Теперь введите «regsvr32 Filename.ocx» или «regsvr32 Filename.dll» в окне командной строки. Замените имя файла указанным заголовком файла.
  • Нажмите клавишу возврата, чтобы заново зарегистрировать файл.

Если у вас возникли проблемы с доступом к командной строке от имени администратора, вам лучше ознакомиться с этим руководством.

Запустите проверку на вирусы

Kaspersky, Avast, AVG, Symantec Norton и McAfee являются одними из наиболее высоко оцененных антивирусных утилит. Если у вас еще нет подходящего стороннего антивирусного пакета, установите бесплатную версию одной из этих утилит и выполните полную проверку на вирусы.

Нужно больше альтернатив? Больше ни слова. Вот лучшие антивирусы на рынке прямо сейчас!

Мы рекомендуем вам Bitdefender как номер мира. 1 антивирус. Он имеет кучу полезных функций и чрезвычайно мощный механизм безопасности. Он обнаружит любой вирус/вредоносное ПО, проникшее в вашу систему, и оптимизирует производительность вашего ПК.

  • Загрузите антивирус Bitdefender по специальной цене со скидкой 50% .

Сканирование и исправление реестра

Ошибки времени выполнения обычно генерируются из реестра, поэтому сканирование реестра может быть эффективным исправлением. Эффективное сканирование реестра исправит недействительные или поврежденные ключи реестра.

Существуют различные очистители реестра для Windows, и CCleaner, Wise Registry Cleaner, EasyCleaner, JetCleaner, RegistryCleanerKit и WinOptimizer являются одними из наиболее высоко оцененных утилит.

Вот как вы можете сканировать реестр с помощью бесплатного CCleaner:

  • Нажмите Загрузить на этой веб-странице , чтобы сохранить установщик CCleaner в Windows. Затем откройте мастер установки для установки программного обеспечения.
  • Запустите CCleaner и нажмите Реестр , чтобы открыть очиститель реестра ниже.


Ищете лучшие очистители реестра для вас? Вот список наиболее часто используемых.

Проверьте наличие обновлений Windows

Вам также следует проверить и установить обновления Windows. Microsoft обычно обновляет системные файлы, которые могут быть связаны с ошибкой 429. Таким образом, обновление Windows последними пакетами обновлений и исправлениями может помочь устранить ошибки времени выполнения.

Вы можете обновить Windows следующим образом:

  • Введите «Обновление Windows» в поле поиска в меню «Кортана» или «Пуск».
  • Затем вы можете выбрать Проверить наличие обновлений, чтобы открыть параметры обновления прямо ниже.


  • Нажмите здесь кнопку Проверить наличие обновлений . Если есть доступные обновления, вы можете нажать кнопку Загрузить , чтобы добавить их в Windows.

Не можете обновить Windows 10? Ознакомьтесь с этим руководством, которое поможет вам быстро их решить.

Запустите проверку системных файлов

Многие системные ошибки происходят из-за поврежденных системных файлов, включая проблему ActiveX 429. Таким образом, исправление поврежденных системных файлов с помощью средства проверки системных файлов может быть эффективным средством.

Вы можете запустить сканирование SFC в командной строке следующим образом:

  • Сначала введите «cmd» в поле поиска Cortana или меню «Пуск».
  • Затем вы можете щелкнуть правой кнопкой мыши командную строку и выбрать Запуск от имени администратора , чтобы открыть окно подсказки.
  • Введите «sfc/scannow» в командной строке и нажмите клавишу «Return».


  • Сканирование SFC может занять до 20 минут или дольше. Если SFC что-либо исправляет, в командной строке будет указано: « Защита ресурсов Windows обнаружила поврежденные файлы и успешно восстановила их ».
  • Затем вы можете перезагрузить Windows.

Команда сканирования теперь остановлена ​​до завершения процесса? Не волнуйтесь, у нас есть простое решение для вас.

Отмена системных изменений с восстановлением системы

Однако помните, что вы потеряете программное обеспечение и приложения, установленные после даты восстановления. Вы можете использовать Восстановление системы следующим образом:


Если вы заинтересованы в получении дополнительной информации о том, как создать точку восстановления и как это вам поможет, ознакомьтесь с этой простой статьей, чтобы узнать все, что вам нужно знать.

Если восстановление системы не работает, не паникуйте. Посмотрите это полезное руководство и снова все исправьте.

Это некоторые из многочисленных возможных исправлений для ошибки Windows ActiveX 429. Если ни одно из вышеперечисленных исправлений не решает проблему, удалите и переустановите программное обеспечение, генерирующее ошибку.

Если у вас есть дополнительные предложения по исправлению ошибки ActiveX 429, пожалуйста, поделитесь ими ниже. Кроме того, если у вас есть какие-либо вопросы, не стесняйтесь оставлять их там.

Перестановка программ и компонентов не помогла. Поискал решения в интернете, но они тоже не помогли. Пришлось искать решение самостоятельно… и в конце концов я его нашел.

Решение оказалось очень простым, но очень не просто было его найти. Я удивлён, что до сих пор никто ничего не написал на эту тему, даже авторы этой программы. Хотя, судя по обращениям, довольно много людей сталкиваются с этой ошибкой.

Простое решение

Шаг 1


Шаг 2

Рассмотрим решения для обоих вариантов.

Если у вас возникает подобная ошибка, которая почему-то не исправляется даже после установки соответствующего пакета, то тогда нужно сделать следующее:

У вас появится чёрное окно терминала с надписями.

Закройте это окошко нажав кнопку ОК

Нажимаете любую клавишу, чтобы окно терминала закрылось и пробуете печатать. Всё должно работать.

Если у вас остается эта ошибка даже после установки соответствующего пакета, то вам нужно сделать следующее:

У вас появится чёрное окно терминала с надписями.

Закройте это окошко, нажав кнопку ОК

Нажмите любою клавишу, чтобы закрыть окно терминала. Попробуйте напечатать с помощью PDF417. Всё должно работать.

Решение проблем

При некоторых настройках Windows у вас может не получиться сделать всё гладко и без ошибок.

Рассмотрим обе причины.

Отсутствие необходимых компонентов

После того как вы запустили соответствующий файл winscr+.bat или msxml4+.bat, у вас могут в чёрном окне терминала появиться надписи об ошибках:

Эти ошибки указывают, что у вас в системе нет соответствующих компонентов или файлов.

В этом случае, вам нужно восстановить недостающие .exe и .dll, например, с аналогичной рабочей машины. Либо установить эти компоненты заново.

После восстановления файлов возвращайтесь к Шагу 2, и всё заработает.

Недостаточно прав на регистрацию dll

Само собой, что для того, чтобы выполнить Шаг 2 у вас должны быть права вносить изменения в компьютер. Если ваш аккаунт Windows не входит в группу Администраторы, то вам нужно выяснить, кто входит в эту группу и договориться с ним, чтобы он выполнил Шаг 2.

Но если даже вы входите в группу Администраторы, это не означает автоматически, что у вас есть права на всё. Конечно, в этом случае, скорее всего вы являетесь уже являете владельцем ветки реестра и имеете полные права не неё. Однако, в этой ветке могут быть подветки, на которые у вас нет прав по умолчанию.

В этом случае, на Шаге 2 у вас будут вылетать следующие ошибки:

В этом случае, вам придется самостоятельно предоставить себе такие права вручную.

На самом деле, подветок, на которые у вас нет прав, по каждому компоненту может быть очень много. Чтобы не искать их все, наша задача будет предоставить права на ветку [HKEY_CLASSES_ROOT\CLSID] и ВСЕ ВЛОЖЕННЫЕ ПОДВЕТКИ. Это важно.

Прежде, чем работать с реестром, очень рекомендую сделать точку восстановления.

Создание точки восстановления


Предоставления прав на ветку реестра Windows

Вам понадобится зайти в утилиту regEdit.exe. Для начала сделайте точку восстановления.

Итак, вы запускаете regedit.exe (Нажимаете Win+R, вводите regedit.exe и нажимаете Ok). Затем предоставляете права в точности как не картинке ниже (Рисунок 1).

Чтобы было предельно понятно, расписываю подробно каждый шаг:

После предоставления прав, вам нужно вернуться к Шагу 2, и выполнить его. После того как Шаг 2 пройдет без ошибок, программа печати PDF417 будет работать.

Напишите, что у вас получилось. Если что, я могу помочь это сделать на вашем компьютере удаленно.

Читайте также: