How to determine if the 32-bit Visual Studio 2013 redistributable is installed on a user's machine reliably via the Registry?
Asked Answered
G

5

12

I am using DeployMaster to build an installer for a 32-bit Windows application written in C++ using Qt.

The executable depends on the Visual Studio 2013 redistributable - i.e., the 32-bit Visual Studio 2013 redistributable must be installed by the end user, prior to running this application.

I have googled, and looked at other StackOverflow questions. In particular, this link provides the exact Registry key to check, but for the case of VS 2008.

I need VS 2013, not VS 2008.

However, ideally it will be a reliable registry check - not a programmatic solution - because I can easily check a registry key with a DeployMaster installer. (If the system is determined to not have the redistributable installed, it's also easy to have the DeployMaster installer kick off the installer.)

Does anybody know a reliable method, preferably using a Registry key, that allows to make it possible to determine if the 32-bit VS 2013 redistributable is installed on an end-user's machine?

Geary answered 11/2, 2014 at 12:43 Comment(4)
Might work to figure this out yourself: run SysInternal's ProcMon on a machine (can be virtual) that doesn't have the redist installed yet and start the installation. That will reveal any registry keys it creates. Pick a suitable one (like those from HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall or HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products) and you're done..Overglaze
I think the key is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vc\Servicing\12.0\RuntimeMinimum (checking for Install = 1), but I would like confirmation that this or any answer is reliable. Good thought (though why should a programmer be forced to do that level of work just to see if a basic Microsoft runtime system is installed? That is another failure on Microsoft's part).Geary
yes that key is used as well probably - don't really agree with the pointing finger though.. In the end it's always somebody's fault, and I might as well eg claim it's DeployMaster's fault as they make you figure this out yourself :P since eg InstallShield has this functionality built-in for VC redists IIRCOverglaze
@Overglaze InstallShield - another $1000 product that inspires you to "pay" for functionality to support another company's functionality that you must also pay for that isn't adequate. Good for them, though.Geary
W
6

The key you need is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\12.0\RuntimeMinimum.

Waiwaif answered 10/7, 2014 at 17:29 Comment(0)
O
12

I'm using these reg keys: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\VC\Runtimes\x86 Installed HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\VC\Runtimes\x64 Installed

I've confirmed that they appear only after the redist is installed, and they more closely match the ones for previous versions. e.g. VC++ 2010 is: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\VC\VCRedist\x86 Installed HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\VC\VCRedist\x64 Installed

Opprobrium answered 15/4, 2015 at 9:28 Comment(0)
W
6

The key you need is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\12.0\RuntimeMinimum.

Waiwaif answered 10/7, 2014 at 17:29 Comment(0)
B
2

Just in case someone is looking at this, but is using NSIS to deploy their program.

You check:

ReadRegDword $0 HKLM "SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\12.0\RuntimeMinimum" "Install"

If $0 equals 1, then it is installed. If not, it isn't.

Bader answered 21/1, 2015 at 11:51 Comment(1)
This key is not alwayse created and is not a trustworthy indicator.Apocynaceous
O
1

I found it here:

32bit
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}
or
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}

64bit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}

This is probably better than the devdiv keys, as its the Windows key used to uninstall the msi, if its been installed. Now I just wish Microsoft's devdiv could talk to the Windows team so we can have a canonical place to detect this stuff, and a canonical name for Redistributable. Hint Microsoft, it ain't called 'minimum runtime'

Oecology answered 3/2, 2015 at 15:30 Comment(0)
C
1

For Visual Studio 2013 Update 5, 32 bit version (12.0.40664), the key is:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8122DAB1-ED4D-3676-BB0A-CA368196543E}
Chinaman answered 3/3, 2021 at 5:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.