I am doing an installation of several products, but because they are built automatically in daily build, they have various GUIDs. They just have same UPGRADE code...
So my question is: Is it possible to know just with UPGRADE code if the product is installed (without using own custom actions)?
I was trying:
<Property Id="WF_INSTALLED" Value="NOT INSTALLED">
<ProductSearch Minimum="0" UpgradeCode="{XXXXXXXX-XXXX-XXXX-XXXX-8660911C6596}"/>
</Property>
But it seems that I cannot use that... Also I find a registry record:
Root='HKLM' Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\XXXXXXX'
where XXXXXXX is transformed UPGRADE Code, but there are no values under this key so I cannot check for its existence :(
Any help will be appreciated.
EDIT: I am trying to discover if some other product is installed, not that one what I am currently installing.
You do this using the Upgrade
element. See this question: How to implement WiX installer upgrade?
If you only want to detect whether the application is already installed, use the OnlyDetect
attribute (Rob's answer has an example of this use).
If you are actually trying to perform an upgrade of your product, the official WiX documentation describes the easiest way to do this.