c ++ - XP embedded CRT version problem .. LoadLibraryEx fejler

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger en tredjeparts dll i min ansøgning, som er bestemt til at blive kørt på et Windows XP-indlejret SP1-system.


Det løber fint på min dev box, men når jeg forsøger at køre det på målplatformen, fejler det med følgende begivenhed. Denne begivenhed opstår, når jeg kalder LoadLibraryEx for at indlæse tredjeparts 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.


Jeg fandt ud af at installationen af ​​Microsoft Visual C ++ 2005-omfordelbare pakke løser problemet, men det kan jeg ikke gøre, da det er en integreret platform, og MSI kører ikke på det. Jeg forsøgte at kopiere dll-filer msvcm80.dll, msvcp80.dll og msvcr80. dll til systemet, men det løste ikke problemet.

Bedste reference


Sæt alle dine EXE'er og DLL'er i en mappe, herunder CRT-ene. Kopiering værker forudsat du sætter dem på det rigtige sted.

Andre referencer 1


Jeg fandt løsningen og bogførte det her for nogen kæmper med lignende problem.


Jeg kopierede mapper og filer relateret til CRT 80 fra min arbejdscomputer WinSxS-mappe til målplatform, og det fungerede.


Jeg kopierede bibliotek kaldet 'x86\_Microsoft.VC80.CRT\_1fc8b3b9a1e18e3b\_8.0.50727.4053\_x-ww\_e6967989', som indeholder CRT dlls. kopierede relaterede filer fra mapper 'Policies' og 'Manifests'.