Since App-V 4.5 has been released into the wild there has been a couple of things I personally have been preaching to the community to get a high level of successful virtualized applications. One of these things is the deployment, and active updating of, Visual C++ Redistributable. All in all there is about 22 different versions to be deployed both onto any sequencing machine and any potential client. See the previous article Setup a VM for Packaging for a complete list that contains download links and in which order I install. them. Tim Mangan has gathered a more complete list that contains a lot more information about each and every version of the Visual C++ Redistributable. Now, this is all talk and no evidence that the native installation of all these different prerequisites will actually make life easier for anyone and perhaps just introduce a risk for us when deploying additional components natively.
I wrote a FAQ response on Aaron Parkers App-V 4.X FAQ regarding if you can virtualize VC Redist or .NET Framework – which conclusive says NO. In addition to the above generic response, I have personally dealt with SAP GUI (7.1 / 7.2), Adobe Photoshop CS6 (most likely applicable to all CS 6 software), Paint.NET, the error message 000036B1 and Autodesk Navisworks Freedom when it comes to recipes and specific error messages that all go back to missing Visual C++ Redistributable components as a root cause.
This is now a thing of the past.
App-V 5.0 SP2 changes this drastically as it will detect and virtualize all versions of Visual C++. In addition to this – the App-V 5.0 SP2 client will now detect VC++ Redist components part of packages produced in earlier versions of the App-V 5.0 sequencer and also allow those to be part of the virtual environment.
How does this work? It just works!
When you sequence a software, no “special” actions are necessary, no additional steps are required. Once you have completed the installation a report will inform you that the components are detected;
The details of the report looks like this. It tells us which components have been detected.
What does this mean for the previous written best practices?
It’s all in the trash
We can move back to a “lowest common denominator” for the Visual C++ Redistributable components and make sure that as much as possible are part of our packages. Stay tuned for an updated article on that!
One setting located under Options on the sequencer;