Hi all,
I ran into the strangest problem on a customer's machine today. He was installing a new version (MAJOR upgrade) of our software which has the authoring below. We set INSTALLDIR from UPGRADEDIR if a previous version is installed (SetUpgradeInstallDir custom action) and make the installation folder read-only (conditioned on UPGRADEDIR<>"") on the [Admin]FolderForm to force the new version to be installed to the same location. On this particular customer's computer, UPGRADEDIR was set to some other application (in fact a Canon software component). This would happen even if I uninstalled the older version of my application and the Canon software. My first thought was that for some reason our UpgradeCode was the same as the Canon software; though we should be able to have GUID collision like that. But after downloading and examining the Canon software's installer, it does not even appear to be Windows Installer based. I am going to modify the conditions to also require PREVIOUSVERSIONSINSTALLED to be non-NULL to determine that this is an upgrade, but why would the RegistrySearch return some other application's Uninstall key? WiX version is 3.0. Installation target is Win7 64-bit. Application/installer is 32-bit. Thanks in advance for any insight you can provide. Bill <!-- Find previous installation folder for upgrade after uninstall --> <Property Id="UPGRADEDIR"> <RegistrySearch Id="FindInstallLocation" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\[PREVIOUSVERSIO NSINSTALLED]" Name="InstallLocation" Type="raw" /> </Property> <CustomAction Id="SetUpgradeInstallDir" Return="check" Execute="oncePerProcess" Property="INSTALLDIR" Value="[UPGRADEDIR]"/> <Upgrade Id="$(var.UpgradeCode)"> <UpgradeVersion Minimum="$(var.version)" Property="NEWERPRODUCTFOUND" OnlyDetect="yes" IncludeMinimum="yes" /> <UpgradeVersion Minimum="1.0.0" Maximum="$(var.version)" RemoveFeatures="ALL" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" /> </Upgrade> <InstallExecuteSequence> . . . <Custom Action="SetARPInstallLocation" Before="RegisterProduct">NOT Installed</Custom> <AppSearch After="FindRelatedProducts"/> <Custom Action="SetUpgradeInstallDir" After="AppSearch"><![CDATA[UPGRADEDIR <> ""]]></Custom> . . . </InstallExecuteSequence> <InstallUISequence> <AppSearch After="FindRelatedProducts"/> <Custom Action="ERRCA_UIANDADVERTISED" Before="AppSearch"><![CDATA[ProductState=1]]></Custom> <Custom Action="SetUpgradeInstallDir" After="AppSearch"><![CDATA[UPGRADEDIR <> ""]]></Custom> . . . </InstallUISequence> ----------**********---------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users