AccessViolationException or SharedMemoryException when using shared memory on Windows Vista, Windows 7 or Windows Server 2008

Problem: Your application uses shared-memory communications.  When running on operating systems other than Windows Vista, everything works fine.  When the application is moved to Windows Vista, Windows 7 or Windows Server 2008, it throws an AccessViolationException or a SharedMemoryException.  When you change the application to use tcp/binary communications, it runs fine.

Answer: Shared memory communications requires that the file msvcr71.dll be installed on the machine.  Windows 7, Windows Vista and Windows Server 2008 do not include this file by default.  (It may appear on some Windows 7, Windows Vista or Windows Server 2008 machines because it was installed as part of another application, in which case you may not see this exception.)  You can download it from  Once you download it, place it in the base folder of your application (the one containing your application’s .exe file), or place it in the WindowsSystem32 folder.

JNBridge will resolve this problem in an upcoming release.