Windows (the OS) will redirect 32-bit apps in such a way that they can't tell 
that they are executing on a 64-bit OS. The 32-bit app will blissfully execute 
as if it was in fact executing on a 32-bit OS as it was designed to do.

A 32-bit Windows Installer package is executed in a similar context meaning 
that it will *NOT* have the ability to see any of the 64-bit portions of the 
64-bit OS. A 32-bit Windows Installer package will always think it is running 
on a 32-bit OS.

Perhaps, one option might be to set a 32-bit registry value when the 64-bit 
package installs. That way the 32-bit package can check for this 32-bit 
registry value and stop itself if it is found.

Edwin G. Castro
Software Developer - Staff
Digital Channels
Fiserv
Office: 503-746-0643
Fax: 503-617-0291
www.fiserv.com
Please consider the environment before printing this e-mail

> -----Original Message-----
> From: Daetrin Nickname [mailto:gfin...@gmail.com]
> Sent: Monday, April 04, 2011 3:49 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Registry Search in x86 installers doesn't work
> properly on x64 machines
> 
> We actually already have two different installers. However the problem is
> that we need to account for the possibility that they've installed an x64
> version of the main program on an x64 machine, and then try to install the
> x86 version of the utility on the same machine. So the x86 installer needs to
> be able to detect for the existence of _both_ the
> x86 version and the x64 version of the main app.
> 
> Obviously this wouldn't be the smartest thing for the user to do, and in fact
> what we're performing this test for in part is to be able to warn the user not
> to perform the installation under those circumstances. However we can't tell
> them not to do it if we can't even tell the other component is there.
> 
> On Mon, Apr 4, 2011 at 3:20 PM, Jacques Eloff <repst...@gmail.com> wrote:
> > I believe you need to issue two different installers and set the Win64
> > attribute for each RegistrySearch element.
> >
> > You should not specify the Wow3264Node in the path.
> >
> > If you need to do this in a single installer, you will need to
> > condition the search so that it only triggers for the appropriate OS
> > type using the
> > VersionNT64 property, but I think that goes against 'spirit' of
> > installers and I'm not sure if that's even possible
> >
> > Jacques
> >
> > On Mon, Apr 4, 2011 at 11:58 AM, Daetrin Nickname <gfin...@gmail.com>
> wrote:
> >
> >> We're trying to do a couple registry searches at the beginning of a
> >> utility installation to check for the existence of our main product
> >> so we can take certain actions. Everything works fine when using the
> >> x64 installer on an x64 machine,  but when we try the x86 installer
> >> all the registry checks fail, apparently because it's looking in
> >> "HKEY_LOCAL_MACHINE32" rather than "HKEY_LOCAL_MACHINE". Why
> is it
> >> trying to use a non-existent root element, and is there any way to
> >> force it to use the right location? This seems like it ought to be a
> >> simple question with an obvious answer, but i can't find a solution
> >> in the mailing list logs or anywhere else with google.
> >>
> >> Here's the wix code:
> >>
> >> <Property Id="OURPRODUCT_8_0_INSTALLED">
> >>        <RegistrySearch Id="OP80Present" Type="raw" Root="HKLM"
> >>                Key="SOFTWARE\OurCompany\OurProduct\8.0"
> Name="InstallPath"
> >> />
> >> </Property>
> >>
> >> <Property Id="OURPRODUCT_8_0_WOW6432_INSTALLED">
> >>        <RegistrySearch Id="OP80Wow6432Present" Type="raw"
> Root="HKLM"
> >>                Key="SOFTWARE\Wow6432Node\OurCompany\OurProduct\8.0"
> >> Name="InstallPath" />
> >> </Property>
> >>
> >> Here's the log for the (working) x64 version:
> >>
> >> AppSearch: Property: OURPRODUCT_8_0_INSTALLED, Signature:
> OP80Present
> >> MSI (c) (60:C8) [11:22:05:150]: PROPERTY CHANGE:
> >> Adding OURPRODUCT_8_0_INSTALLED property.
> >> Its value is 'C:\Program Files\OurCompany\OurProduct\'.
> >>
> >> AppSearch: Property: OURPRODUCT_8_0_WOW6432_INSTALLED,
> Signature:
> >> OP80Wow6432Present
> >> MSI (c) (60:C8) [11:22:05:150]:
> >> Note: 1: 1402
> >> 2:
> HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\OurCompany\OurProd
> uct\8.0
> >> 3: 2
> >>
> >> So it found the x64 install but was unable to find the x86 install
> >> (under Wow6432Node) so all is correct.
> >>
> >> Here's the x86 install log:
> >>
> >> AppSearch: Property: OURPRODUCT_8_0_INSTALLED, Signature:
> OP80Present
> >> MSI (c) (C0:14) [11:09:07:493]:
> >> Note: 1: 1402
> >> 2: HKEY_LOCAL_MACHINE32\SOFTWARE\OurCompany\OurProduct\8.0
> >> 3: 2
> >>
> >> AppSearch: Property: OURPRODUCT_8_0_WOW6432_INSTALLED,
> Signature:
> >> OP80Wow6432Present
> >> MSI (c) (C0:14) [11:09:07:493]:
> >> Note: 1: 1402
> >> 2:
> >>
> HKEY_LOCAL_MACHINE32\SOFTWARE\Wow6432Node\OurCompany\OurPr
> oduct\8.0
> >> 3: 2
> >>
> >> It's looking under HKEY_LOCAL_MACHINE32, so it doesn't find the
> >> existing x64 install.
> >>
> >> Now what's really weird is that if i install the x86 version of the
> >> main product and then try to install the x86 version of the utility
> >> it claims to detect _both_ versions in the registry!
> >>
> >> AppSearch: Property: WORKFLOW_8_0_INSTALLED, Signature:
> OP80Present
> >> MSI (c) (10:78) [11:49:37:228]: PROPERTY CHANGE:
> >> Adding OURPRODUCT_8_0_INSTALLED property.
> >> Its value is 'C:\Program Files (x86)\OurCompany\OurProduct\'.
> >>
> >> AppSearch: Property: WORKFLOW_8_0_WOW6432_INSTALLED,
> Signature:
> >> OP80Wow6432Present
> >> MSI (c) (10:78) [11:49:37:229]: PROPERTY CHANGE:
> >> Adding OURPRODUCT_8_0_WOW6432_INSTALLED property.
> >> Its value is 'C:\Program Files (x86)\OurCompany\OurProduct\'.
> >>
> >> I don't care too much about the false positive in this case, i just
> >> really want to fix the false negative in the case of installing x86
> >> on top of x64.
> >>
> >> Thanks for any help!
> >>
> >>
> >> ---------------------------------------------------------------------
> >> --------- Create and publish websites with WebMatrix Use the most
> >> popular FREE web apps or write code yourself; WebMatrix provides all
> >> the features you need to develop and publish your website.
> >> http://p.sf.net/sfu/ms-webmatrix-sf
> >> _______________________________________________
> >> WiX-users mailing list
> >> WiX-users@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/wix-users
> >>
> > ----------------------------------------------------------------------
> > --------
> > Xperia(TM) PLAY
> > It's a major breakthrough. An authentic gaming smartphone on the
> > nation's most reliable network.
> > And it wants your games.
> > http://p.sf.net/sfu/verizon-sfdev
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> 
> ------------------------------------------------------------------------------
> Xperia(TM) PLAY
> It's a major breakthrough. An authentic gaming smartphone on the nation's
> most reliable network.
> And it wants your games.
> http://p.sf.net/sfu/verizon-sfdev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to