首先要说明一下,本人是一名编程爱好者,使用visio studio2017为单位开发软件的,我电脑的操作系统是64位的,用的office软件套装是office 2016。
本人去年开发了一套是开发为asp.net的动态网络,用access2016(Office365 MSO 16.0.11629.20238)(32位)作为动态网站的数据库,毕竟是单位内网使用,对数据库的要求不高。当时开发时就已经报错,并提示了问题上的错误,但本人通过百度找到了解决方案,就是给电脑上安装了AccessDatabaseEngine,并配置好IIS后就可以正常访问了。
今天本人又开发了winform的软件,也是使用access2016(Office365 MSO 16.0.11629.20238)(32位)作为winform的数据库,这次又报错了提示“未在本地计算机上注册‘Microsoft.ACE.OLEDB.12.0’提供程序”,于是本人再次在互联网上搜索,均是给出了asp.net的解决方法(下载并安装AccessDatabaseEngine,但是安装时提示已经安装过了只能进行修复,于是我就没有选择修复),没有winform的解决方案。于是本人想通过安装AccessDatabaseEngine_64.exe软件想解决这个问题,结果系统却报错说我已经安装了office的32位的产品,不能安装AccessDatabaseEngine_64.exe软件。
现在我该怎么办,我很绝望啊!!!请知道真相的大神帮忙解决这个问题,谢谢了!

解决方案 »

  1.   

    经过多天的探索,我终于发现了解答的办法,那就是在调试的时候,把anyCPU修改为x86然后就能正常运行了。(选择配置管理器,然后平台那有个新建的按钮,选择新建x86模式即可)
    但是又有一个奇怪的现象,那就是用x86模式进行编译运行时某些第三方的dll就不能用了,真奇怪。因为我之前在vs2008(32位系统)上可以正常运行,并且是在vs2017的x64模式下也没有报错,但就是在x86模式下却不行!然后我使用项目-管理NuGet重新下载这些dll后才正常了。
    (PS:这个问题很困难吗?这么多天了,还是靠我自己一个爱好者自己解决了这个问题,我也是无语了)