I did some investigation on a Vista64 machine and since setup.exe is 32-bit this cannot be made to work...
The Components key is in the 64-bit version of HKLM\Software and as far as I can tell there is no way to read that data without low-level registry calls. The Launch condition available in Visual Studio would be impossible to write so that it can handle both 32 and 64-bit OS's.
See the comment on the following article:
http://msdn.microsoft.com/en-us/library/ms724072(VS.85).aspx
excerpt:
Note: When using the registry API (e.g., RegOpenKeyEx and
RegEnumKeyEx) in a 32-bit application, Wow6432Node acts like a symbolic
link that loops back to the same 32-bit hive. It does not map into the
64-bit hive as you might think.
For example, walking the
registry tree down to HKLM\Software\Wow6432Node in a 32-bit application
loops back to HKLM\Software. The result is infinite recursion:
HKLM\Software\Wow6432Node\Wow6432Node\Wow6432Node\..., etc.
If
you want to view the 64-bit registry hive in 32-bit code you must open
HKLM\Software using KEY_WOW64_64KEY. Do not try to open Wow6432Node; it
will not work.
As a general rule you should ignore any result
from RegEnumKeyEx that returns "Wow6432Node". It is a magic name that
triggers special behavior by the registry API.
I'd be happy to be proven wrong