C# 使用Visual Fox Pro OleDb
我正在尝试使用C#将数据从DBF文件拉入我的程序。我正在使用Visual FoxPro OLE DB提供程序。它在我的本地机器上运行良好,但我想将我的程序打包成客户端可以使用的dll。问题是,当他们从机器上运行程序时,表示Visual FoxPro OLE DB提供程序没有在他们的机器上注册。有没有办法在不让客户机在其机器上安装Visual FoxPro OLE DB提供程序的情况下使用此功能?简短的回答是“否”…长的回答是: 如果不在每台目标机器上安装VisualFoxproOLEDB提供程序,我不相信您可以做到这一点。即使您尝试使用COM互操作,您仍然必须安装并注册原始dll-vfpoledb.dll 到目前为止,解决此问题的最简单方法是从Microsoft获取并将其分发给用户 如果要为库安装滚动自己的.MSI包,可以手动安装并注册缺少的dll 要在.MSI包中使用regsvr32.exe手动注册.DLL,请执行以下操作: 首先打开WSI项目并转到MSI脚本 在“立即执行”选项卡中的InstallFinalize之后添加“从目标执行程序”自定义操作 当“从目标执行程序”对话框出现时,输入:C# 使用Visual Fox Pro OleDb,c#,visual-foxpro,foxpro,dbf,C#,Visual Foxpro,Foxpro,Dbf,我正在尝试使用C#将数据从DBF文件拉入我的程序。我正在使用Visual FoxPro OLE DB提供程序。它在我的本地机器上运行良好,但我想将我的程序打包成客户端可以使用的dll。问题是,当他们从机器上运行程序时,表示Visual FoxPro OLE DB提供程序没有在他们的机器上注册。有没有办法在不让客户机在其机器上安装Visual FoxPro OLE DB提供程序的情况下使用此功能?简短的回答是“否”…长的回答是: 如果不在每台目标机器上安装VisualFoxproOLEDB提供程序
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)
自定义操作名称:
工作目录:SystemFolder
EXE和命令行:输入regsvr32.EXE的完整路径
以及.DLL的完整路径。
(通常..\Program Files\Common Files\System\Ole DB\vfpoledb.dll)
如果将/s开关添加到命令行,如[SystemFolder]regsvr32.exe/s,则dll的注册应在无需用户干预的情况下进行。在64位Vista计算机上开发时,我遇到了类似的问题。我发现为了使用Microsoft Jet OleDB或FoxPro OleDB提供程序,我必须将.Net项目的属性设置为专门针对32位处理器,因为这些提供程序没有64位版本 无论如何,我不确定这是否是目标机器使用您的库的问题的一部分,但我想我会提供它 布莱恩