Visual C++ Redistributables Made Simple

Of all the software I have had to deploy at a customers site, the most common is probably the Visual C++ Redistributables. They are not difficult to setup but can create headaches due to the number of them. In this post I will share some information to make the deployment of them much simpler.


With the adoption of the application model in ConfigMgr, I now setup my redistributables as applications so we can easily create dependencies if they are required. With this however comes the need to specify an uninstall string and a detection method to help the application model do all the cool things it is now known for.

For convenience as well, if you head over to my downloads page, you will see a link that contains a package with both the x86, x64, RTM and SP1 releases of the redistributables for the following versions:

  • 2005
  • 2008
  • 2010
  • 2013

Command Lines

If you are deploying 2005 edition of the redistributables then you will need the following as the installation string:

x64: /q:a /c:"VCREDI~2.EXE /q:a /c:""msiexec /i vcredist.msi /qn"" "
x86: /q:a /c:"VCREDI~1.EXE /q:a /c:""msiexec /i vcredist.msi /qn"" "

For the uninstall string you will then need this:

x64: /q:a /c:"VCREDI~2.EXE /q:a /c:""msiexec /x vcredist.msi /qn"" "
x86: /q:a /c:"VCREDI~1.EXE /q:a /c:""msiexec /x vcredist.msi /qn"" "

For 2008 you will simply need /q and for 2010 /q /norestart.

It is slightly different for 2013 but not much, here is the install command line:

/install /quiet /norestart

Then the uninstall string is as follows:

/uninstall /quiet /norestart

The first two may well work, the /? string shows the above as the required command line, I have not tried the ones used with previous versions but they may well work.

Detection Methods

The next big thing we need is the detection method, here is a list of all the MSI product codes that relate to the releases I have in the download above.

  • Visual C++ 2005 Redistributable Package (x86)
    {A49F249F-0C91-497F-86DF-B2585E8E76B7}
  • Visual C++ 2005 Redistributable Package (x64)
    {6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}
  • Visual C++ 2005 Redistributable Package (ia64)
    {03ED71EA-F531-4927-AABD-1C31BCE8E187}
  • Visual C++ 2005 SP1 Redistributable Package (x86)
    {7299052B-02A4-4627-81F2-1818DA5D550D}
  • Visual C++ 2005 SP1 Redistributable Package (x64)
    {071C9B48-7C32-4621-A0AC-3F809523288F}
  • Visual C++ 2005 SP1 Redistributable Package (ia64)
    {0F8FB34E-675E-42ED-850B-29D98C2ECE08}
  • Visual C++ 2008 Redistributable Package (x86)
    {FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}
  • Visual C++ 2008 Redistributable Package (x64)
    {350AA351-21FA-3270-8B7A-835434E766AD}
  • Visual C++ 2008 Redistributable Package (ia64)
    {2B547B43-DB50-3139-9EBE-37D419E0F5FA}
  • Visual C++ 2008 SP1 Redistributable Package (x86)
    {9A25302D-30C0-39D9-BD6F-21E6EC160475}
  • Visual C++ 2008 SP1 Redistributable Package (x64)
    {8220EEFE-38CD-377E-8595-13398D740ACE}
  • Visual C++ 2008 SP1 Redistributable Package (ia64)
    {5827ECE1-AEB0-328E-B813-6FC68622C1F9}
  • Visual C++ 2010 Redistributable Package (x86)
    {196BB40D-1578-3D01-B289-BEFC77A11A1E}
  • Visual C++ 2010 Redistributable Package (x64)
    {DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}
  • Visual C++ 2010 Redistributable Package (ia64)
    {C1A35166-4301-38E9-BA67-02823AD72A1B}
  • Visual C++ 2010 SP1 Redistributable Package (x86)
    {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
  • Visual C++ 2010 SP1 Redistributable Package (x64)
    {1D8E6291-B0D5-35EC-8441-6616F567A0F7}
  • Visual C++ 2010 SP1 Redistributable Package (ia64)
    {88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}
  • Visual C++ 2013 Redistributable Package (x86)
    {13A4EE12-23EA-3371-91EE-EFB36DDFFF3E} and {F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}
  • Visual C++ 2013 Redistributable Package (x64)
    {929FBD26-9020-399B-9A7A-751D61F0B942} and {A749D8E6-B613-3BE3-8F5F-045C84EBA29B}

Summary

There you have it, all the information you need to made the setting up and the deployment of the Visual C++ redistributable packages much easier.

Advertisements

Tags: , , , , ,

About Martyn

Martyn is one of the Senior Cloud Architects and DevOps Team Leader at one of the worlds leading Cloud Transformation Specialists Inframon. Martyn is responsible for the architecture of some of the largest Azure deployments in EMEA and is a advisor to a many businesses on their strategies. Martyn is a regular speaker at Microsoft events and community events on Azure and DevOps, giving his insight to a growing number of audiences.

5 responses to “Visual C++ Redistributables Made Simple”

  1. Milo says :

    Wow…. Soooo much Google-ing and so many hours spent till I finally got it to work thanks to your help!!!!

  2. Dave says :

    the two values you show for 2013 are these the registry keys values I enter for the SCCM application deployment. I am new to SCCM as I had to take it over when the original person that set this up left the company. Any examples of how to do this would be greatly appreciated.

  3. Matt says :

    Thank you so much for compiling all this together. It would have taken me hours to find all those msi codes and that amalgamation of an install switch for 2005.

  4. Brian Gonzalez says :

    Would it be illegal to provide links to the exported SCCM packages dor C++? Seems like it would very useful considering that packages are importable in SCCM 2012.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: