Does anybody know how to check in a WIX project, if the actuall C++ redistributable package is installed or not? This link describes the serveral product IDs, but there is a problem with them. They change with every update of a C++ redist package. Based on that I've to apapt my checks in the WIX project every time a new VC redist package update is released, which is not a useable solution.
I want to use the RegistrySearch
WIX element to solve this problem. Therefore I need to know a registry key that doesn't change if a newer version of a C++ redist package is installed. I've also checked the registry key described in this link, but no one seems to be reliable.
Visual Studio 2013/2015 will add additional registry keys:
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\classes\installer\Dependencies
Name Property
---- --------
Microsoft.VS.VC_RuntimeAdditio Version : 12.0.21005
nalVSU_amd64,v12 (default) : {929FBD26-9020-399B-9A7A-751D61F0B942}
DisplayName : Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005
Microsoft.VS.VC_RuntimeAdditio Version : 14.0.23026
nalVSU_amd64,v14 (default) : {BC958BD2-5DAC-3862-BB1A-C1BE0790438D}
DisplayName : Microsoft Visual C++ 2015 x64 Additional Runtime - 14.0.23026
They also include keys like Microsoft.VS.VC_RuntimeMinimumVSU_amd64,v12
. These keys will point to the currently installed redist packages, and will be removed/added when you install a redist package.