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|
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: https://support.microsoft.com/en-us/help/326922/redistribution-of-the-shared-c-runtime-component-in-visual-c
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.
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