Solved!

It seems that (an older version) of Canon Easy Web-Print EX which
shipped with the (in our case) Pixma MG8120 was putting its Uninstall
values directly beneath the Uninstall key instead of in its own
product-specific key and didn't clear them on uninstall.   

So for a new install of our product, [PREVIOUSVERSIONSINSTALLED]
resolved to an empty string thus causing my AppSearch to resolve to
HKLM:Software\Microsoft\Windows\CurrentVersion\Uninstall\@InstallLocatio
n where it happily found the erroneous InstallLocation value.

The current version of the Canon software on their web site creates the
correct Uninstall key/value hierarchy so I was unable to reproduce it on
my machine.  

These people ran into the same issue but were unable to figure it out..
http://community.mediabrowser.tv/permalinks/2650/cronos-install-error

Is there any way to get AppSearch to log what path it is searching or at
what path it found a valid value?   That would have helped tremendously
in this case.


-----Original Message-----
From: Arnette, Bill [mailto:bi...@signalscape.com] 
Sent: Wednesday, February 13, 2013 11:42 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] RegistrySearch returning strange value

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

----------**********----------
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

Reply via email to