Microsoft.ACE.OLEDB.12.0提供程序未注册

我的应用程序是用C#编写的,并使用Ms-Access 2003 ,我希望它能在64-bit Windows安装中正常运行。 我使用数据提供程序作为ACE.OLEDB.12. 连接字符串中为0,但它仍然提供了Microsoft.ACE.OLEDB.12.0提供程序未注册的例外,尽管我已在目标计算机中安装了Microsoft Access Databse Engine 201032-bit )(作为目标计算机的Office安装是32-bit )。

我跟随以下postMicrosoft.ACE.OLEDB.12.0提供程序未注册 , msdn和其他microsoft站点中的许多其他post和问题解决,因为他们说编译到x86 。 我想知道是否有另一种解决这个问题的方法,不需要编译到x86

您不必编译x86,但需要在64位盒子上安装64位Access OLEDB提供程序。 它可以在这里获得: Microsoft Access数据库引擎2010可再发行组件

我在64位上遇到了同样的问题,但在http://social.msdn.microsoft.com/Forums/en-US/1d5c04c7-157f-4955-a14b-41d912d50a64/how-to-fix-error上提供了以下建议-the-microsoftaceoledb120-provider-is-not-registered-on-local-machine ,我从http://www.microsoft.com/download/en/confirmation.aspx?id安装了这些组件的Office 2007版本。 = 23734 ,完美无缺。