问题描述
我在我的应用程序中使用第三方dll,该应用程序注定要在Windows XP Embedded SP1系统上运行。
I am using a third party dll in my application which is destined to be run on a Windows XP embedded SP1 system.
但在我的开发盒上运行良好,但是当我试图在目标平台上运行它失败,并发生以下事件。当我调用LoadLibraryEx加载第三方DLL时,会发生此事件。
It runs fine on my dev box however, but when I try to run it on target platform it fails with following event. This event occurs when I call LoadLibraryEx to load the third party DLL.
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 32
Date: 9/8/2011
Time: 9:42:28 AM
User: N/A
Computer: OEM-J1XMVGHGNVX
Description:
The description for Event ID ( 32 ) in Source ( SideBySide ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Microsoft.VC80.CRT, The referenced assembly is not installed on your system.
我发现安装Microsoft Visual C ++ 2005 Redistributable Package会解决这个问题,但我不能这样做它是一个嵌入式平台和MSI不运行它。我尝试复制dll文件msvcm80.dll,msvcp80.dll和msvcr80.dll到系统,但是没有解决问题。
I found that installing Microsoft Visual C++ 2005 Redistributable Package will solve the problem, but I cannot do that as it is an embedded platform and MSI doesn't run on it. I tried copying dll files msvcm80.dll, msvcp80.dll and msvcr80.dll to the system but that did not solve the problem.
推荐答案
我将工作计算机WinSxS目录中与CRT 80相关的文件夹和文件复制到目标平台和它的工作。
I copied the folders and files related to CRT 80 from my work computer WinSxS directory to target platform and it worked.
我复制目录名为x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989其中包含CRT DLL。从策略和清单目录复制相关文件。
I copied directory named "x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989" which contains CRT dlls. copied related files from "Policies" and "Manifests" directories.
这篇关于XP嵌入式CRT版本问题。LoadLibraryEx失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!