Не удается зарегистрировать элемент управления ActiveX только на одном компьютере - PullRequest
1 голос
/ 04 февраля 2010

У меня возникла странная проблема при попытке зарегистрировать предоставленный поставщиком элемент управления ActiveX на двух разных компьютерах. На одном компьютере я могу зарегистрировать деталь с помощью regsvr32, а затем без проблем использовать ее в форме Access 2007. На другом компьютере после регистрации той же библиотеки DLL она просто не распознается как действительная часть ActiveX в Access 2007 или любой другой программе Office 2007.

  • Часть ActiveX содержится в одной DLL. Я не пропускаю дополнительный файл на одном из компьютеров.
  • Я перепроверил точную версию DLL на обоих компьютерах, используя md5sum. Оба DLL-файла абсолютно идентичны.
  • Я перепроверил все записи реестра, созданные при регистрации детали, с помощью утилиты Nirsoft ActiveX Helper. Записи идентичны.
  • Я проверил Access, чтобы убедиться, что в детали есть ссылка, указывающая на DLL.
  • Я проверил, что расположение библиотеки DLL указано как надежное расположение в Access.

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

Ответы [ 2 ]

0 голосов
/ 04 февраля 2010

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

Используя Блокнот (или аналогичный), сохраните следующее как test.vbs, а затем дважды щелкните по нему, чтобы запустить его.

set oTest = CreateObject("<YOUR PROGID HERE>")

MsgBox ("All Done Successfully")

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

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

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

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

0 голосов
/ 04 февраля 2010

Ладно, все в темноте, но у нас есть несколько компьютеров в нашей организации, но ИТ-отдел довольно плотно заблокирован. Когда мы запускаем программу установки, они работают нормально и регистрируют наши компоненты ActiveX, но first time, когда мы запускаем программу, она должна быть от имени администратора. После этого обычный пользователь может запустить программу.

...