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