.net 如何分发使用Microsoft Access数据库的应用程序

.net 如何分发使用Microsoft Access数据库的应用程序,.net,vb.net,aceoledb,.net,Vb.net,Aceoledb,我已经使用Microsoft Access创建了一个应用程序作为数据库 分发时,我会遇到错误: 在搜索之后,我找到了一个标准的修复程序来安装这两个 和 安装修复程序时,错误将更改为无法识别的数据库。 我发现了另一个修复方法,即使用Jet4作为数据连接,当我创建一个快速应用程序(作为测试)时,它给出了相同的错误 那么,是否有人知道如何创建使用更易于分发的数据库的应用程序。Microsoft Access数据库引擎2010(ACE)有两个版本。32位和64位。不能在同一台计算机上安装这两个版本

我已经使用Microsoft Access创建了一个应用程序作为数据库

分发时,我会遇到错误:

在搜索之后,我找到了一个标准的修复程序来安装这两个

安装修复程序时,错误将更改为无法识别的数据库。 我发现了另一个修复方法,即使用Jet4作为数据连接,当我创建一个快速应用程序(作为测试)时,它给出了相同的错误


那么,是否有人知道如何创建使用更易于分发的数据库的应用程序。

Microsoft Access数据库引擎2010(ACE)有两个版本。32位和64位。不能在同一台计算机上安装这两个版本。32位版本可以安装在带有64位操作系统的PC上。Office 64/32安装具有相同比特数的ACE

这是您可以在客户机器上找到的场景。 现在,您的应用程序应该适应这种情况,并使用允许您匹配大多数客户的
TargetCPU
属性(我假设您不能告诉用户卸载其Office副本以适应您的应用程序要求)

如果您的客户安装了64位操作系统和64位Office,那么您只有一个解决方案。使用
TargetCPU=AnyCPU
创建一个64位的应用程序,而不使用
首选32位
或纯
x64
应用程序。任何其他选择都将失败

相反,如果您的客户没有安装Office或32位版本(无论操作系统位如何),则您可以针对其环境使用
TargetCPU=x86
AnyCPU和首选32位
选项构建应用程序。当然,如果没有安装Office,那么您需要分发32位版本的ACE

考虑其他数据库选项,或选项。在任何情况下,您都需要分发适当的库,以允许您的应用程序使用这些数据库系统。


为了更好地与已经编写的代码兼容,您可能应该选择一种Microsoft解决方案,但是如果应用程序不大(在数据访问方面),那么您可以放心地探索SQLite路径。

我个人使用SQLite。与MS access相比,麻烦要少得多……我放弃了MS access数据库,改用SQLite,它会更好。32位和64位是一种愚蠢的方法。谢谢。我现在有一些研究要做1)如何包括ACE。2) 为(目标)32和64位系统构建感谢您的时间。