I need to perform a number of RegistrySearches (approx. 200) to determine if a
product is installed and some properties about each product installation, such
as the product name, the version, and language.
For instance, I set the PRODUCT2010_INSTALLED property, if this product is
installed
<Property Id="PRODUCT2010_INSTALLED" Value="0">
<RegistrySearch Id="rs1" Root="HKLM" Key="SOFTWARE\Company\Product2010\"
Name="Location" Type="directory" />
</Property>
Since this product was installed, I would like to query for these additional
values
(if the key above does not exist, then the following properties would not need
to be set).
<Property Id="PRODUCT2010_NAME" Value="0">
<RegistrySearch Id="rs2" Root="HKLM" Key="SOFTWARE\Company\Product2010\"
Name="Name" Type="raw" />
</Property>
<Property Id="PRODUCT2010_VERSION" Value="0">
<RegistrySearch Id="rs3" Root="HKLM" Key="SOFTWARE\Company\Product2010\"
Name="Version" Type="raw" />
</Property>
<Property Id="PRODUCT2010_LANGUAGE" Value="0">
<RegistrySearch Id="rs4" Root="HKLM" Key="SOFTWARE\Company\Product2010\"
Name="Language" Type="raw" />
</Property>
Now multiply this by 40+ different products.
What is the most efficient way to perform a series of registry searches?
Is there a way to:
a.) nest RegistrySearches, or
b.) conditional perform the latter 3 queries, only if the first one is
installed (maybe using custom actions)?
Should I not worry about it and just perform each of the 200+ sequential
RegistrySearches?
Should I write a DTF CustomAction that traveres the registry optimally and set
MSI properties as necessary?
Thanks in advance.
Tom
------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users