Ошибка DllRegisterServer с кодом ошибки 0x80004005 - PullRequest
0 голосов
/ 14 января 2019

Когда я пытаюсь зарегистрировать Visual FoxPro DLL через командную строку администратора:

C:\Windows\SysWOW64>regsvr32 C:\_temp\my.dll

на машинах, которые не являются моими, я получаю следующую ошибку:

Модуль "c: \ _ temp \ my.DLL" был загружен, но вызов Ошибка DllRegisterServer с кодом ошибки 0x80004005.

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

Я могу зарегистрировать его на своем. Как я могу получить больше информации о том, почему это терпит неудачу?

Могу ли я использовать свою машину там, где она регистрируется, чтобы узнать, почему она не регистрируется на других машинах?


Я вручную скопировал MSVCR70.dll в каталог %systemroot%\SysWOW64 на компьютере, на котором он не будет регистрироваться.

Я рассмотрел зависимости с https://github.com/lucasg/Dependencies и все выглядит хорошо.

dependencies screenshot

Ответы [ 2 ]

0 голосов
/ 15 января 2019

На основании комментария от Tamar я искал в реестре эту DLL на компьютере, где я мог ее зарегистрировать, и обнаружил {CLSID}\Foxruntime\VFP7R.DLL.

Я установил VFP 7 Runtime с здесь (github.com/VFPX/VFPRuntimeInstallers) и смог зарегистрировать DLL ?

0 голосов
/ 15 января 2019

Я обычно находил и связывал 0x80004005 с разрешениями. Вы пытались запустить приглашение DOS в качестве администратора?

Кроме того, VFP - это ТОЛЬКО 32-битное приложение / dll, никогда не было 64-битной поддержки, поэтому вам, вероятно, нужны файлы в System32, а не в SysWow64.

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

C: \ SomePath \ YourVFP.dll

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

Помимо вышеперечисленных пунктов ... Есть ли у вас код / ​​проект VFP SOURCE для сборки DLL?

...