How do you condition two components containing same file name on registry search?
Posted on 2010-08-12
I have an interesting problem right now and I have been trying to come up with a Windows Installer solution. My requirement is straight forward enough: There exist two versions of the same file, one in english and another for other languages, both have same file name. My task is to have the installer determine the correct file and install. Anyhow, I created two unique components in my MSI package (unique GUID). Each component is conditional on a registry (system search) and stored in a property for use.
The build is working ok, but during install, the two components are not reliable whatsoever - even though the registry setting appears to be captured...The installer is not installing correct file based on condition, it installs at best, random. What does this all mean? The conditions I placed are REGISTRY = XX and REGISTRY <> XX. I have even tried specifying the registry value in the system search and use REGISTRY and NOT REGISTRY conditions. Nothing seems to work!
I ran the ICE validator and it returned back ICE30, an error to do with two distinct file names, etc. Anyhow, I have checked the tables directly for any missing signatures or inconsistent signatures, I find nothing.
I'm not sure what else to do then scrap this MSI project and write VBScript to carry out my installation, I really do not want this. I would ideally like an MSI package. Any ideas what might be going on here?
Any help is much appreciated.