2009-07-28 60 views
0

當我嘗試在Windows 2003 Server中執行應用程序時,出現此運行時錯誤R6034。嘗試在Windows Server 2003上使用Firebird Server 2.1時出現運行時錯誤R6034(無法加載gds32.dll)

微軟的Visual C++運行時庫

運行時錯誤!

R6034

應用程序已做出了嘗試 負載C運行時庫 不正確。請聯繫 應用程序的支持團隊獲取更多 信息。

該服務器安裝了Firebird 2.0,它可以正常工作,我卸載了它並安裝了Firebird 2.1,但Firebird 2.1完全不起作用。

當我使用instclient,看看哪個DLL安裝它返回正確的結果,這是我用17910火鳥版本:

>instclient.exe query gds32 
Installed GDS32.DLL version : 6.3.1.17910 (shared DLL count 1) 

我也看了這可能在丟失的dll等系統,但沒有,系統很乾淨,但我無法讓Firebird工作。

如果您想知道爲什麼我需要gds32,那是因爲我使用TIBBackupService組件,並且默認情況下使用gds32(或者最差,硬編碼),因此無法將其更改爲fbclient.dll。

任何想法來解決這個問題是值得歡迎的,謝謝。

回答

2

很可能您已選擇在system32目錄中創建舊版gds32.dll,但未安裝必需版本的MSVC運行時庫。使用32位或64位版本(取決於Firebird服務器版本)的Microsoft Dependency Walker以檢查未找到哪個DLL。無論如何,安裝MS可再發行組件包應該有所幫助。

+0

錯誤指出C運行時加載不正確,而不是它不存在。即使在安裝MS可再發行組件包後,R6034也可能發生。 – 2009-07-28 16:25:15

+0

我安裝了Microsoft Visual C++ 2005 SP1,它馬上就能工作!謝謝! – 2009-07-28 17:01:32

1

錯誤可能是因爲您正在從路徑而不是從SxS目錄加載C運行時DLL。你需要添加一個清單給你的exe文件,通知OS loader有關依賴關係。看看this answer,雖然沒有直接關係,但它指出你如何修復R6034。請注意,錯誤是指C++運行時庫,而不是GDS32.dll。雖然另一個問題沒有直接提到R6034,但我回答了這個問題,並且有一個R6034是根本原因。

相關問題