2009-07-28 59 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是根本原因。

相关问题