In my last post I described how to (really) deploy CRT/MFC DLLs into the same directory as the application (xcopy deployment).
“Really” means, that it will never load any DLLs installed in the WinSxS directory. This is archived by removing the “publicKeyToken” from the manifest. If you leave the “publicKeyToken” inside the manifest, then it will force loading of (possibly) installed WinSxS versions (and updates/redirections).
The option of really AppLocal installations are not explaind on any Microsoft side (or at least I could not find it). Only the “normal” (semi) AppLocal installation is (a little bit) explaind, for example here:
Visual C++ Libraries DLL Deployment.
One of the main reasons for this is the new focus from Mircosoft to Security.
The main disadvantage of really AppLocal installations is, that Microsoft is not able to update or patch your installation (or better the CRT/MFC components of your installation). And this sees to be anathema to Microsoft.
The same is also true for static linked applications.
So I fear, that Microsoft will
- remove or deprecate static linking in the next version of VS
- remove the possibility to really AppLocal installations in the next OS /MFC/CRT DLLs
Hopefully, this will not come true…