2012-01-13 59 views
2

我編譯了使用Windows XP 32bit上的Access數據庫引擎庫的可執行文件。 在Win7 x64操作系統上運行,給了我一個OLEDB組件沒有註冊的錯誤。在x64上編譯OLEDB依賴的可執行文件

我試着安裝AccessDatabaseEngine x64,它解決了這個問題。 但是,在安裝了Win7 x64和office 2007 32位的另一臺計算機上,它不會讓我安裝AccessDatabaseEngine x64,因此我只能在該目標計算機上編譯該項目(在VS2010 c#中),將Env作爲x64和目標CPU作爲x86。這解決了這個問題。

我的問題是,這是爲什麼這樣工作?這背後的理由是什麼?

謝謝。

+0

http://blogs.msdn.com/b/psssql/archive/2011/10/03/yes-we-made-a-mistake-and-are-finally-going-to-fix-it.aspx – 2012-01-17 21:42:58

回答

0

回答你的問題你所陳述的手段,有一個是一個不同的操作系統,但不應該的問題。這裏真正的問題是,有安裝了2個不同版本的Microsoft的..你就必須要麼

  1. GAC版本或參考.dll文件的目標機器
  2. 設置複製本地的工作版本到目標版本的版本..有點像在您的DLL將駐留在調試/箱或調試/放置bin文件夾所在的文件夾..

我正在使用Windows 7 64位,並將我的工作DLL複製到Windows 2003服務器計算機上,並且我的項目仍在工作。

我的其他工作是引用Microsoft.Interop.Access .dll中的將機器鎖定到我的解決方案,重新編譯和Bam ....!

相關問題