XP embedded CRT version issue.. LoadLibraryEx failing

本秂侑毒 提交于 2019-12-11 17:09:29

问题


I am using a third party dll in my application which is destined to be run on a Windows XP embedded SP1 system.

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.

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.


回答1:


Put all your EXE's and DLL's in one directory, including the CRT ones. Copying works provided you put them in the right place.




回答2:


I found the solution and posting it here for someone struggling with similar problem.

I copied the folders and files related to CRT 80 from my work computer WinSxS directory to target platform and it worked.

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.



来源:https://stackoverflow.com/questions/7398038/xp-embedded-crt-version-issue-loadlibraryex-failing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!