0

My application starts fine on my Windows 8 laptop. However I can not start it on Windows Server 2008 R2. Following error occured:

The exception unknown software exception (0xe0434352) occured in the application at location 0xfd5ecaed.

The following is printed in the command line:

Unhandled Exception: Cannot print exception string because Exception.ToString() failed.

My solution contains one c++-cli project which i'm trying to use, and if I do not use it then everything works fine, so commenting just this line helps:

// private static CliAdapterMain cliAdapter = new CliAdapterMain();

I've tried:

  • repair .NET Framework 4.5 on target machine
  • repair/reinstall VS 2012 Update 1 Redistributable (both x86 and x64, version 11.0.51106.1)
  • updated my VS2012 to Update 1 recompiled project
  • no Windows pending updates, tried to reboot system several times

Dependency Walker claims that following DLL's are missing: GPSVC.DLL IESHIMS.DLL MF.DLL MFPLAT.DLL MFREADWRITE.DLL WLANAPI.DLL However they exist on target computer, for example here

c:\Windows\winsxs\amd64_microsoft-windows-grouppolicy-base_31bf3856ad364e35_6.1.7601.17514_none_8649674dfda23046\gpsvc.dll

Probably I can try manually reregister missing dll's, but i don't think this is really a problem. Looking at an exception it seems that something is broken, not something is missing.

upd: From Windows logs:

Va.MBClient.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.TypeInitializationException Stack: at Va.MBClient.Program.Main(System.String[])

So I guess that private static CliAdapterMain cliAdapter = new CliAdapterMain(); is failed but i don't know why.

upd played with my application a little. Finally i've found just one line of code that causes a failure. This is #include <boost/thread.hpp>. Why this doesn't work? I'm using latest version of boost (1.52), but i did built it on my Windows 8 machine. Should I rebuilt everything for Windows Server 2008 R2? Should I built entire project on Windows Server 2008 R2?

4

1 回答 1

0

这是由于在Windows Sever中,有些功能默认是没有开启的,需要自己添加Windows Media Services和Wireless LAN Service才能找回Dll。

你可以参考MSDN

于 2012-11-27T06:02:35.073 回答