我有一个在Visual 2005中用C#构建的项目。我为Windows应用程序(在VS2010中)创建了一个安装程序,它在Windows SP3上安装和工作良好。我尝试在Windows 7 32位上安装它,它说安装是成功的,但是当我试图打开应用程序时,我会收到以下错误消息:
发生致命错误。无法加载DLL 'VistaDb20.dll':对内存位置的无效访问。(HRESULT例外: 0x800703E6)
人们建议我在命令行中运行以下命令: regsvr32 VistaDb20.dll
我得到了错误消息:
加载了模块"VistaDb20.dll“,但没有找到入口点DllRegisterServer。确保"VistaDb20.dll“是一个有效的DLL或OCX文件,然后再试一次.
然后,我使用/tlb:VistaDb20.tlb框架程序集注册实用程序2.0.50727.4927尝试了regasasVistaDb20.dll/tlb:VistaDb20.tlb,并获得了错误:
RegAsm : error RA0000 :未能加载'VistaDb20.dll‘,因为它不是有效的.NET程序集.
我不知道如何让我的应用程序在Windows 7上运行这个.dll问题。任何帮助都将不胜感激。此应用程序和数据库是使用VistaDB 2.1创建的。
我想我无法更改实际的dll,因为我没有创建它,但是也许我必须在Visual中更改dll的一些属性?
发布于 2012-08-09 17:00:28
在尝试使用.NET命令注册VB RegAsm程序集时发生了此错误:
RegAsm : error RA0000 :未能加载'VistaDb20.dll‘,因为它不是有效的.NET程序集。
我解决了购买执行正确的RegAsm框架的.NET的问题。
我的意思是,您应该在高级编译选项(VS2010)中使用相同框架的工具作为目标。
发布于 2012-03-08 18:48:37
根据这,您的问题是这个DLL与DEP不兼容。您需要禁用DEP来解决这一问题,但从长远来看,您应该尝试摆脱这种特定的依赖。
https://stackoverflow.com/questions/9610659
复制相似问题