I'm running an application programmed in C# .NET using a C++/CLI wrapper to a C++ library. And Its working perfectly on Windows 7. But when I run this application on Windows XP it crashes.
I've installed "C++ Redistributable for Visual Studio 2015" but isn't working.
That's the dependency walker output:
Starting profile on 21/03/2016 at 16:02:58
Operating System: Microsoft Windows XP Professional (32-bit), version 5.01.2600 Service Pack 3
Program Executable: c:\documents and settings\alejandro\escritorio\release - net\SAMPLE.EXE
Program Arguments:
Starting Directory: C:\Documents and Settings\Alejandro\Escritorio\Release - NET\
Search Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
Options Selected:
Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
Log DllMain calls for process attach and process detach messages.
Log DllMain calls for all other messages, including thread attach and thread detach.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log first chance exceptions.
Log debug output messages.
Automatically open and profile child processes.
--------------------------------------------------------------------------------
Started "SAMPLE.EXE" (process 0x244) at address 0x00400000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x7C910000. Successfully hooked module.
Loaded "MSCOREE.DLL" at address 0x79000000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x7C800000. Successfully hooked module.
DllMain(0x7C910000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" called.
DllMain(0x7C910000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" returned 1 (0x1).
DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" called.
DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x08370000.
DllMain(0x79000000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCOREE.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSCOREE.DLL" at address 0x79006F3C and returned 0xFFBADD11.
Exited "SAMPLE.EXE" (process 0x244) with code -1073740791 (0xC0000409).
Check the setting for the platform toolset: Bring up the project properties, and under Configuration Properties/General, setting "Platform Toolset". For Visual Studio 2012 and 2013, there's a separate toolset for targeting Windows XP. I assume this setting still exists for VS 2015, so make sure you have the "_xp" variant selected.
Also, be sure that you're running the Release build on your XP machine, not the Debug build.
User contributions licensed under CC BY-SA 3.0