我正在嘗試使用C#將DBF文件中的數據導入到我的程序中。我正在使用Visual FoxPro OLE DB提供程序。它在我的本地機器上工作正常,但我想將我的程序打包到客戶端可以使用的dll中。問題是當他們從他們的機器運行程序時,它說Visual FoxPro OLE DB Provider沒有在他們的機器上註冊。沒有任何方法可以在客戶端在其計算機上安裝Visual FoxPro OLE DB提供程序的情況下使用它?使用Visual Fox Pro OleDb
3
A
回答
6
簡短的答案是否定的...長的答案是:
我不相信你能做到這一點,而無需安裝每個目標計算機上的Visual FoxPro OLE DB提供程序。即使你試圖使用COM互操作,你仍然必須安裝並註冊原始DLL - vfpoledb.dll
到目前爲止,解決這個問題最簡單的方法是從微軟得到FoxPro OleDb Driver install package並分發給你的用戶。
如果您要爲自己的磁帶庫安裝推出自己的.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的註冊應該發生無需用戶干預。
3
當我在64位Vista機器上開發時,遇到了類似的問題。我發現爲了使用Microsoft Jet OleDB或FoxPro OleDB提供程序,我不得不將我的.Net項目的屬性設置爲專門針對32位處理器,因爲這些提供程序沒有64位版本。
無論如何,不知道這是否是目標機器使用libary的問題的一部分,但認爲我會提供它。
Brian
相關問題
- 1. visual fox pro recno()函數
- 2. Visual Fox Pro和Python
- 3. 使用activex創建Visual Fox Pro DBF
- 4. Visual Fox Pro文件訪問
- 5. 從Java執行Visual Fox Pro命令
- 6. 串聯在Visual Fox Pro 6.0中
- 7. Visual Fox Pro 9 4位數字
- 8. 。數據類型[M]的.dbf文件未知OLEDB Visual Fox Pro驅動程序
- 9. Oledb和visual foxpro
- 10. Fox Pro導出例程
- 11. 在Visual Fox Pro應用程序中部署DLL
- 12. Visual fox Pro 9.地址組合框用法
- 13. 使用OLE DB提供程序列出Fox Pro中的主鍵?
- 14. 如何從mysql獲取utf-8字符到visual fox pro
- 15. 如何從Visual Fox Pro保持mysql連接活着
- 16. 遷移方法Rand(int)Visual Fox Pro轉換爲C#.net
- 17. 在Visual Fox Pro數據庫中搜索字符串
- 18. 如何在Visual Fox Pro中編寫存儲過程
- 19. 從.NET Visual Fox Pro驅動程序在DBF文件中插入浮點值
- 20. Fox Pro 8 - 導出到電子表格
- 21. 傳統Visual Fox Pro應用程序中的非自動遞增主鍵
- 22. 如何將MS Access 2016鏈接到Visual Fox Pro dbf表作爲鏈接表?
- 23. 在Microsoft SQL中添加Visual Fox Pro數據庫作爲鏈接服務器
- 24. ADO OleDB Visual Foxpro
- 25. Fox Pro停止工作和OLE錯誤代碼0x800a004c
- 26. 將Fox Pro DBF文件遷移到SQL Server 2012 x64
- 27. 恢復已過時的Fox Pro應用程序
- 28. 添加商店使用odbc或vfoledb在Visual Fox Pro數據庫中創建c#代碼的過程
- 29. Visual Studio 2010 Pro - SuppressMessage
- 30. 使用OLEDB