Hello,
I recently updated to Visual Studio Community 2017. I then worked on one of my solutions and built a C++ Unmanaged DLL. When I try to use this DLL on the client computer I got an API error saying that some of the files are missing. I then proceeded to use
the Dependency Walker and SysInternal's Process Monitor and I have determined that the culprit MUST have been redistributables on C++ because the client computer is MISSING mfc140ud.dll.
There are also about 50 additional DLLs which are missing from the client, but this one is the most egregious one.
The pickle I am in is that Microsoft does not list 2017 C++ Redistributable as supported, yet.
Does anyone have any suggestions?
Thank you!
~*UPDATE*~
Thank you Stephen and Willy for providing the links which allowed me to download all the different versions of the Runtime. However, the answer was found somewhere else. The DLL is NOT copied by the runtime because it is a
DEBUGDLL, used by VS internally. You have to build the DLL as RELEASE to have your DLL not look at this DLL anymore. Goes without saying, this debug version of the MFC is not available on ANY client PC unless you load VS or the Debugging suite
for VS. At any rate, once I changed the Active Configuration on the project from Debug to Release and built the new DLL, the newly-built unmanaged DLL stopped looking for the offending DLL and started using standard DLLs included in the Redist Packages.
Moral of the story: when you have multiple projects inside of a solution, make sure ALL your projects show "Release" in the configuration manager!