Extract MSI from Visual C++ 2012 Redistributable

When you download the new bits for the Visual C++ 2012 redistributable – it comes with an .EXE. This .EXE file is very nice for the common end-user, but working as an Configuration Administrator you are taught the hard-life of using MSIs. By providing the SCCM GUI with an MSI you are provided with so much improvement in the deployment process that doing it manually just seems like a lot of hardwork. For example, you get autodetection if the component is placed on the machine already!

For the older versions of Visual C++ 2010 redistributable you could either via a command-line switch or using an extraction tool (such as Winrar) get the msi-file from the package. The new breed of .EXE-file wasn’t so kind to us and there required some work (and a minor challenge) before it gave up the goods.

1. Install the software
2. Review the registry and find the following keys (these examples are for x64);
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A2CB1ACB-94A2-32BA-A15E-7D80319F7589}]

image
As you can see – the install source is; C:\ProgramData\Package Cache\{A2CB1ACB-94A2-32BA-A15E-7D80319F7589}v11.0.50727\packages\vcRuntimeMinimum_amd64\
The name is Microsoft Visual C++ 2012 x64 Minimum Runtime.
Minimum ? Sounds like there could be more…

Looking at; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC53FC8B-EE18-3F9C-9B59-60937D0B182C}
There is;
image

We can now extract two MSI-files – from the directories;
Additional runtime; C:\ProgramData\Package Cache\{AC53FC8B-EE18-3F9C-9B59-60937D0B182C}v11.0.50727\packages\vcRuntimeAdditional_amd64\

Minimum; C:\ProgramData\Package Cache\{A2CB1ACB-94A2-32BA-A15E-7D80319F7589}v11.0.50727\packages\vcRuntimeMinimum_amd64\

If simply executing the extracted MSIs you get the following;
image
To install this product, please run Setup.exe. For other installation options, see the Installation section of ReadMe.htm.

Simply add the property ADDEPLOY=1 to bypass the check!