The WiX help recommends to deploy the Visual C++ runtime using merge 
modules. I refer to section "How To: Install the Visual C++ 
Redistributable with your installer". While this is possible, I don't 
want to include the MSM in every MSI I will generate. Instead I prefer 
to add this to the bootstrapper with Votive and MSBuild.

But this would allow installing a C++ program that might will not run, 
when the bootstrapper is not used but the MSI is ran directly. Therefore 
I would like to check if the required version of the C++ run time is 
installed on the target system. This could be done with a 
RegistrySearch. But this allows only accessing registry values. I would 
like to do something like this:

<Property Id="VC80_CRT_762">
<RegistrySearch Id="Vc80_Crt_762" Root="HKLM" 
Key="SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Installations\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_e889b656\downlevel_manifest.8.0.50727.4407"
 
Name="?????" Type"=raw" />
</Property>

<Condition Message="This application needs a newer version of the VC++ 
run time.">
<![CDATA[Installed OR VC80_CRT_76"]]>
</Condition>

How can the condition distinguish between "an empty default value" and 
"key not in registry"?
How can this test achieved?
What is the best way to check that the required or a newer version of 
the VC++ runtime is installed?

Regards,
Helge

------------------------------------------------------------------------------
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to