Visual Cpp Redistributable

Microsoft Visual C++ Redistributables. These are required so that the executables of some programs will run, because they were compiled by their author using Microsoft Visual Studio (and a particular version of Visual Studio at that) and require Visual Studio's 'runtime' for C++ in order to run. Usually such runtimes are bundled with the software that requires them, but not always.

Microsoft maintains a list of the latest supported Visual C++ redistributables.

Microsoft Visual C++ 2013 Redistributable

The installer can be downloaded from [1]


 <package id="vc-runtime-2013" name="Visual C++ 2013" revision="1" reboot="false" priority="10">
	<check type="uninstall" condition="exists" path="Microsoft Visual C++ 2013 Redistributable (x64) - 12.0.30501"/>

	<commands>
		<command type="install" cmd='%SOFTWARE%\vc-runtime\vcredist_x64_2013.exe /q' >
			<exit code="3010" reboot="false" />
		</command>
 
		<command type="upgrade" cmd='%SOFTWARE%\vc-runtime\vcredist_x64_2013.exe /q' >
			<exit code="3010" reboot="false" />
		</command>
 
		<command type="remove" cmd="msiexec /qn /l* c:\temp\vc-runtime-2013_uninstall.log /x{3c3aafc8-d898-43ec-998f-965ffdae065a}" >
			<exit code="1605" />
		</command>
	</commands>
  </package>

Microsoft Visual C++ 2008 SP1 Redistributable

The installer can be downloaded from Microsoft

    <package id="vc-runtime-2008" 
	    name="Visual C++ 2008 Runtime SP1" 
	    revision="4" 
	    reboot="false" 
	    priority="10">

	 <check type="logical" condition="or"> 
		<check type="uninstall" condition="exists" path="Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729"/>
		<check type="uninstall" condition="exists" path="Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.17"/>
		<check type="registry" condition="exists" path="HKLM\Software\Microsoft\DevDiv\VC\Servicing\9.0\RED\1031\Install" />
		<check type="registry" condition="exists" path="HKLM\Software\Microsoft\DevDiv\VC\Servicing\9.0\RED\1033\Install" />
	 </check> 
	<install cmd='%SOFTWARE%\vc-runtime\vcredist_2008SP1_x86.exe /q' >
		<exit code="3010" reboot="false" />
	</install>

	<upgrade cmd='%SOFTWARE%\vc-runtime\vcredist_2008SP1_x86.exe /q' >
		<exit code="3010" reboot="false" />
	</upgrade>

	<remove cmd="msiexec /qn /l* c:\netinst\logs\vc-runtime-2008.log /x{09298F26-A95C-31E2-9D95-2C60F586F075}" >
		<exit code="1605" />
	</remove>
	<remove cmd="msiexec /qn /l* c:\netinst\logs\vc-runtime-2008.log /x{6AFCA4E1-9B78-3640-8F72-A7BF33448200}" >
		<exit code="1605" />
	</remove>
	<remove cmd="msiexec /qn /l* c:\netinst\logs\vc-runtime-2008.log /x{9A25302D-30C0-39D9-BD6F-21E6EC160475}" >
		<exit code="1605" />
	</remove>
  </package>

There seem to be different versions of vcredist_x86.exe, perhaps language dependent, so there are different MSI removal strings.

Installer Switches

  • /q - silent
  • /l "<log file>" - log to the specified file
  • Even more silent (though /q doesn't display anything anyway):
vcredist_2008SP1_x86.exe /q:a /c:"VCREDI~3.EXE /q:a /c:""msiexec /i vcredist.msi /qb!"" "

Microsoft Visual C++ 2005 Redistributable

The installer can be downloaded from Microsoft

<package id="vc2005-redist" name="Visual C++ 2005 Redistributable" revision="2" reboot="false" priority="10">
	<check type="uninstall" condition="exists" path="Microsoft Visual C++ 2005 Redistributable" />
	<install cmd='"%SOFTWARE%\vc2005-redist\vcredist_x86.exe" /q:a'/>
	<upgrade cmd='"%SOFTWARE%\vc2005-redist\vcredist_x86.exe" /q:a'/>
	<remove cmd='MsiExec.exe /q /x{7299052b-02a4-4627-81f2-1818da5d550d}' />
</package>