I developed previously a C++/CLI dynamic library project using Visual Studio 2010 that I'm using it as an ANE on an Adobe Air application. The previous version of the DLL used to be compatible with Windows 7 and Windows 7 SP1 out of the box (without the installation of any additional stuff). Now, on the new version, when I tested it on three Windows 7 SP1, an error appeared mentioning that the MSVCR100.DLL is not installed on the current computer. I didn't change anything on the project but the main .cpp file, so I don't understand how can this be.
The following namespaces were used (added) in the new version:
- using namespace System::Diagnostics;
- using namespace System::Net::Sockets;
- using namespace System::Threading;
The following classes were used (added) in the new version:
- NetworkInterface
- System::Collections::IEnumerator
- IPInterfaceProperties
- GatewayIPAddressInformationCollection
- GatewayIPAddressInformation
- AddressFamily::InterNetwork
- UnicastIPAddressInformation
- ProcessStartInfo
- Process
- ThreadCommand
- Thread
- ThreadStart
Could one of these classes make my DLL need the MSVCR100.DLL to be installed on the computer? Why did the DLL sudenly started requirering the MSVCR100.DLL? Does someone know?
I've tried changing the Runtime Library from Multi-threaded DLL (/MD) to Multi-threaded (/MT) as many posts comment but when trying to build on Visual Studio the following error appears: '/clr' and '/mtd' command-line options are incompatible. So this option has not been viable.
If anyone can tell me how to solve this problem I would be really gratefull. Of course, the solution can't be to install the C++ 2010 Redistributable. I need it to be a clean solution with no extra requirements for my end user.