Winforms 已发布的windows应用程序OLEDB 12提供程序未在本地计算机上注册

Winforms 已发布的windows应用程序OLEDB 12提供程序未在本地计算机上注册,winforms,visual-studio-2010,windows-installer,installshield,Winforms,Visual Studio 2010,Windows Installer,Installshield,我正试图发布一个小应用程序,它在dev机器上运行良好,但当我在没有安装office的新win7机器上安装它时。当我尝试应用程序中依赖access DB的部分时,会出现此错误。Microsoft.ACE.OLEDB.12.0提供程序未在本地计算机上注册 我已经做了几个小时了,不知道问题出在哪里。我去构建Configuration Manager并将平台设置为X86,这是我一直在阅读的所有内容,每个人都说要这样做,它应该可以工作,但这没有做任何事情 我也在使用installshield,但我没有看到

我正试图发布一个小应用程序,它在dev机器上运行良好,但当我在没有安装office的新win7机器上安装它时。当我尝试应用程序中依赖access DB的部分时,会出现此错误。Microsoft.ACE.OLEDB.12.0提供程序未在本地计算机上注册

我已经做了几个小时了,不知道问题出在哪里。我去构建Configuration Manager并将平台设置为X86,这是我一直在阅读的所有内容,每个人都说要这样做,它应该可以工作,但这没有做任何事情

我也在使用installshield,但我没有看到access db引擎或任何东西的任何预需求


有人知道我需要做什么才能让这个应用程序在其他windows机器上运行吗?

我也遇到过类似的情况,我的应用程序需要一个特定的数据库提供商。我将其作为先决条件添加到InstallShield中。转到工具/先决条件编辑器向安装项目添加新的prereq。在“条件”选项卡上,您很可能希望确保所需提供程序的注册表项存在。 然后在“要包含的文件”选项卡上,添加对所需提供者的本地文件或url的引用。
这不是一个完整的答案,但希望能让你走上正确的方向。

可能的重复。下次,您可能会尝试在发布之前,至少在此处对收到的错误消息进行基本搜索:-是的,当我安装它时它可以工作,但是我如何用程序安装程序打包呢?因此,用户在安装应用程序之前不需要去下载。我不使用InstallShield,但您通常可以将外部安装作为先决条件依赖项添加到您自己的安装中,并在您自己的安装过程中运行它们。请参阅-尤其是第二个答案,这可能会有所帮助。但这与你在最后一段中提出的问题不同;这个问题是重复的。我将它改为使用jet provider,现在它工作正常,不需要accessdbengine。谢谢你。