使用 Visual Fox Pro OleDb

2024-01-07

我正在尝试使用 C# 将 DBF 文件中的数据提取到我的程序中。我正在使用 Visual FoxPro OLE DB 提供程序。它在我的本地计算机上运行良好,但我想将我的程序打包成客户端可以使用的 dll 。问题是,当他们从自己的计算机上运行该程序时,它会说 Visual FoxPro OLE DB 提供程序未在其计算机上注册。有没有办法在客户端不安装 Visual FoxPro OLE DB Provider 的情况下使用它?


简短的答案是否定的……详细的答案是:

我认为如果不在每台目标计算机上安装 Visual FoxPro OLE DB 提供程序,您就无法做到这一点。即使您尝试使用 COM 互操作,您仍然需要安装并注册原始 dll - vfpoledb.dll

到目前为止,解决此问题的最简单方法是获取来自 Microsoft 并将其分发给您的用户。

如果您想为库安装推出自己的 .MSI 包,您可以手动安装并注册缺少的 dll。

要使用 .MSI 包中的 regsvr32.exe 手动注册 .DLL:

首先打开您的 WSI 项目并转到 MSI 脚本。

在“立即执行”选项卡中的 InstallFinalize 之后添加“从目标执行程序”自定义操作。

当出现“从目标执行程序”对话框时,输入:

Custom Action Name: <registerdll>
Working Directory: SystemFolder
EXE and Command Line: Enter the full path to regsvr32.exe 
and the full path to .DLL.

(usually ..\Program Files\Common Files\System\Ole DB\vfpoledb.dll)

如果将 /s 开关添加到命令行,例如 [SystemFolder]regsvr32.exe /s,则无需用户干预即可注册 dll。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Visual Fox Pro OleDb 的相关文章

随机推荐