Почему бы ocx control не регистрироваться должным образом? - PullRequest
0 голосов
/ 01 декабря 2009

Я пишу приложение, которое должно использовать сторонний контроль ocx. В моем скрипте Inno Setup я включаю строку:

Source: C:\aPath\aControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver

Похоже, элемент управления зарегистрирован, но установленное приложение выдает мне EOleSysErrors, что элемент управления не зарегистрирован при работе в Win2000 Есть мысли о том, что здесь происходит, или как это исправить?

Спасибо, как всегда!

p.s. Я работаю с контролем уровня администратора. Я предполагаю, что это всегда требуется при регистрации элемента управления ActiveX. (Это верно?)

Ответы [ 2 ]

3 голосов
/ 02 декабря 2009

Если проблема возникает только в Windows 2000, но не в более поздних версиях ОС, это может быть вызвано отсутствием зависимостей, таких как библиотеки DLL или другие файлы OCX, которые не являются частью стандартной установки Windows 2000. На ум приходят версии библиотеки времени выполнения Microsoft C. Чтобы отследить подобные проблемы, вы должны использовать бесплатный Dependency Walker . Скопируйте его на проблемный компьютер и используйте его для открытия файла OCX, после чего будут показаны все отсутствующие точки входа или библиотеки библиотеки.

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

И да, для регистрации OCX вам нужна учетная запись администратора или опытного пользователя.

0 голосов
/ 29 июня 2010

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

...