获取错误" the 'VFPOLEDB.1'提供程序未在本地计算机上注册"即使在安装

本文关键字:quot 计算机 注册 安装 VFPOLEDB the 取错误 程序 获取 | 更新日期: 2023-09-27 18:06:32

好的,我有一个Windows服务,它有一个FileSystemWatcher,它监视一些Visual FoxPro数据库文件的输出文件夹。它利用VFPOLEDB.1提供程序来读取这些文件。我不能离开这个提供程序,因为它正在生产中使用。

然而,我以前从来没有支持过这个应用程序,所以这就是为什么我的开发箱没有为它设置。这是我的环境:

  • Windows 7 x64
  • Visual Studio 2005
  • 。. NET 2.0 Windows服务

所以,当我第一次得到错误时,我认为我只是根本没有提供程序,我是对的。所以,我从这里下载并安装了它。

然后我继续将文件放到文件夹中,但我得到了相同的错误。

我想,因为它是一台x64机器,我可能会遇到注册问题,因为它可能被放入SysWOW64,正如我所料,所以我运行了这个命令:

regsvr32 "C:'Windows'SysWOW64'mscomct2.ocx"

,它说它已成功注册(这意味着什么都没有LOL),但我再次将文件放入- 相同的错误。

我还没有重新启动我的机器,如果有人有一个令人信服的理由,我可以,这是问题,但一般来说,如果汇编正确地注册了regsvr32,这是没有必要的。我已经使用了COM对象的ton,并且只要我注册了它,就不必重新启动以获得对象。

有人知道我需要执行的另一个步骤来注册这个东西吗?

获取错误" the 'VFPOLEDB.1'提供程序未在本地计算机上注册"即使在安装

已经注册了。它是为AnyCPU平台编译的应用程序。
在x64操作系统中,这会产生64位代码,而64位代码无法访问32位驱动程序。

把你的平台改成x86,你就没事了。

编辑
两年后,这个答案又多了一些东西。在Visual Studio 2013中,奶酪被移动了。链接的文章非常详细地解释了编译器设置默认值是如何更改的。AnyCPU目标CPU和Prefer 32 bit意味着您的应用程序在x64位操作系统中也可以作为32位应用程序工作,除非特别需要,否则几乎没有x64应用程序的空间。

有了这个新的配置,记住Mark Berry在下面发表的评论也变得很重要。如果你的应用程序(现在是32位)需要在IIS 64位环境下工作,你需要用Enable 32 bit Applications

设置Application Pool

我有桌面应用程序(Win7 x64 VS 2015) -并且无论如何都得到相同的错误。我将平台目标更改为x86,将MSI安装为管理员等-我做了所有我可以谷歌-没有运气。帮助我的是为Everyone而不是Just me安装MSI,这是安装过程中最后一个向导屏幕。

我也有同样的问题。

我在我的系统中安装了VFP Ole DB Provider并解决了

下载链接

使用优势OLE DB提供程序,适用于32或64,这里是连接字符串