Невозможно загрузить DLL VistaDb20.dll из-за неправильного доступа к расположению памяти (HRESULT: 0x800703E6)
У меня есть проект, который был построен в Visual Studio 2005 в C#. Я создал установщик для приложения Windows (в VS2010), и он отлично работает на Windows XP SP3. Я попытался установить его в Windows 7 32-разрядной версии, и он говорит, что установка прошла успешно, но когда я пытаюсь открыть приложение, я получаю следующее сообщение об ошибке:
Произошла фатальная ошибка. Невозможно загрузить DLL 'VistaDb20.dll': неверный доступ к памяти. (Исключение из HRESULT: 0x800703E6)
Люди предложили мне запустить это в командной строке: regsvr32 VistaDb20.dll
Я получаю сообщение об ошибке:
Модуль "VistaDb20.dll" был загружен, но точка входа DllRegisterServer не найдена. Убедитесь, что "VistaDb20.dll" является допустимым файлом DLL или OCX, а затем повторите попытку.
Тогда я попробовал regasm VistaDb20.dll /tlb:VistaDb20.tlb с помощью утилиты регистрации сборки.NET Framework 2.0.50727.4927 и получил ошибку:
RegAsm: ошибка RA0000: не удалось загрузить "VistaDb20.dll", так как это недопустимая сборка.NET.
Я не уверен, как заставить мое приложение работать на Windows 7 с этой проблемой.dll. Любая помощь будет оценена. Это приложение и база данных были созданы с использованием VistaDB 2.1
Я думаю, я не могу изменить фактическую DLL, так как я не создал ее, но, возможно, мне нужно изменить некоторые свойства DLL в Visual Studio?
2 ответа
У меня была эта ошибка при попытке зарегистрировать мою сборку VB .NET с помощью команды RegAsm:
RegAsm: ошибка RA0000: не удалось загрузить "VistaDb20.dll", так как это недопустимая сборка.NET.
Я решил проблему покупки исполняющего RegAsm.NET Framework.
Я имею в виду, что вы должны использовать инструменты той же самой Framework, которую вы используете в качестве цели в ваших расширенных опциях компиляции (VS2010).
В соответствии с этим ваша проблема заключается в том, что эта DLL не совместима с DEP. Вам придется отключить DEP, чтобы обойти это, но в долгосрочной перспективе вы должны попытаться отучить себя от этой конкретной зависимости.