Deploying an application compiled with Visual Studio .NET C++

Date:10 November 2003
Product/Release:Visual LANSA V10.0
Abstract:Compiling your LANSA Application with Visual Studio .NET
Submitted By:LANSA Technical Support
Last Review:December 2010

Description:

If you are using Visual Studio .NET to compile your RDML, you will need to package the extra C Runtime DLLs for .NET. when you ship your developed applications. This is applicable whether you use LANSA's Deployment Tool or not.
Compiling RDML with Visual Studio .NET produce a DLL dependency on C Runtime.

From Visual Studio .NET onwards, Microsoft have changed their policy on C Runtime. See the following link from Microsoft: http://support.microsoft.com/default.aspx?scid=kb;en-us;326922

The DLL is now NOT considered a system DLL and developers are asked to distribute it with their applications and deposit it in the application specific folder. The DLLs also have a version number in their names. Thus a Visual Studio .NET 2002 DLL is called MSVCR70.DLL and a Visual Studio .NET 2003 DLL is called MSVCR71.DLL (this follows C++ compiler versioning scheme).

So someone using a VS .NET 2002 compiler will produce binaries with a dependency on MSVCR70.DLL and for VS .NET 2003 will depend on MSVCR71.DLL.

Workaround:

If you deploy your application and x_run.exe displays an error because it can't find MSVCR71.DLL, then LANSA recommends that you copy the C Runtime DLL either to your system32 directory or your application execute directory. The directory you choose must be included in your path. e.g.

c:\windows\system32 or c:\<root>\x_win95\x_lansa\execute