Hello James,

Is there any reason why you do not use the Package Platform=x64 or
package Platform=x86?  It is my understanding that you would not need to
explicitly reference ProgramFiles64Folder if this is set to x64.

If you want to be able to upgrade between 64-bit and 32-bit versions of
your product, I would use a bootstrapper.  In the bootstrapper check to
see if the HKLM\Software\Wow6432Node exists. If it does you can pretty
sure that you are on a 64-bit system.  You can then check the
HKLM\SOFTWARE\[YourCompany] for the existence of a 64-bit version or
HKLM\SOFTWARE\Wow6432Node\[Your Compahy] for the existence of your
32-bit version.  (On a 32-bit system you just check under
HKLM\SOFTWARE\[Your Company]

What I do in my installer is to write entries into the registry during
installation and any change operations to save things such as the
ProductCode, UpgradeCode, Location where product was installed and
Features that have were installed.

In some cases, where it is appropriate, I let the MSI do the upgrade
like you do.  In other cases, I retrieve the current settings of the
product and remove the existing product and then drive MSIEXEC directly.
I pass the information that I retrieved from the registry to the
installer via public properties.  I let the bootstrapper modify any of
these properties if they are going to change.  I have not implemented a
64-bit installer but we do have another product in our company that come
in a 32-bit and 64-bit flavor.  I use this logic to detect the presence
of absence of the appropriate version.  

This technique lets me upgrade/downgrade between different versions of
our product that are packaged with different UpgradeCodes.

This is a little kludgy and rather brute-force but it is simple and
effective.

Durwin Wright | Sr. Architect | durwin.wri...@ingres.com | Ingres | 500
Arguello Street | Suite 200 | Redwood City | CA | 94063 | USA  +1
650-587-5523 | fax: +1 650-587-5550 | "Wag the Dog" 

-----Original Message-----
From: Blair [mailto:os...@live.com] 
Sent: Monday, May 09, 2011 4:29 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] 32-Bit < > 64-Bit

Are you using the same UpgradeCode?

Blair

-----Original Message-----
From: James Robertson [mailto:ja...@osodata.com] 
Sent: Friday, May 06, 2011 4:58 AM
To: WiX
Subject: [WiX-users] 32-Bit < > 64-Bit

Hi,

I have an existing installer for a 32-bit application that has been
working
fine for the last year or so.  I am now looking at adding a second
installer
(users will download the 32-bit or 64-bit installer, I'm not planning on
having a single installer decide which version to install) based on the
same
script that can install a 64-bit version of my application.  I have
something that almost works, but am stuck on a few things.

The current 32-bit installer drops executable files in Program Files
(x86)
and some common data files in ProgramData.  These folders are cleaned up
as
part of the uninstall procedure as long as they're empty (new files can
be
added by the user to the ProgramData folder, and these will remain
across
upgrades).  The new 64-bit installer is supposed to drop executable
files in
Program Files and the same data files in Program Data.

The existing installer always uninstalls any previous version before
installing the new one (so users can downgrade if I screw up) and I am
trying to make the 64-bit version function in the same way.  Ideally the
installer will treat any existing install 32-bit or 64-bit in the same
say
regardless of their actual install paths, I.e., providing the version
number
is different, the previously installed version will be uninstalled
before
the new version is installed.

>From what I can see, installing and uninstalling a 64-bit version on a
clean machine works.  I am going to go one step further and assume that
upgrading 64-bit to 64-bit also works.

The problems I have are as follows:

1) When I install the 64-bit version when a 32-bit installation is
already
present, the 32-bit version isn't uninstalled.  So while the 64-bit
version
is installed in Program Files there is no shortcut to it, nor is there
any
way to uninstall it (the 32-bit version is still listed in Programs and
Features).

2) When I install the 32-bit version when a 64-bit installation is
already
present, the 64-bit version is not correctly removed, but the start menu
shortcut and uninstall link in Programs and Features now reference the
32-bit version.


So, how is this scenario supposed to be implemented?  Are there any
decent
tutorials or references on how to implement this upgrade scenario
correctly?

The current installer script as it stands can be viewed here:


James

------------------------------------------------------------------------
----
--
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------
------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to