Hi, I have recently made a 64 bit MSI from a single source and I started out by following http://blogs.msdn.com/b/astebner/archive/2007/08/09/4317654.aspx
The trick to make it easy is the -arch command (or setting the processor type in votive), but you also need to do a few other things. I conditionally set the product code and product name ... <?if $(var.Platform)=x64 ?> <?define displayName = "Product name (x64)" ?> <?define productCode = "A guid" ?> <?else?> <?define displayName = "Product name (x86)" ?> <?define productCode = "Another guid" ?> <?endif?> <Product Id="$(var.productCode)" Language="0" Manufacturer="Company" Name="$(var.displayName)" Version="8.5.$(var.buildNumber)" Codepage="0" UpgradeCode="Yet another guid, these things get everywhere"> Set the Platform attribute on the Package Element with the built in variable... Platform="$(var.Platform)" Then I have a conditional root directory structure as programs should be installed under ProgramFiles64Folder on 64 bit windows... <?if $(var.Platform)=x64 ?> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFiles64Folder"> <Directory Id="CompanyProgramsDir" Name="SDL"> </Directory> </Directory> </Directory> <?else ?> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="CompanyProgramsDir" Name="SDL"> </Directory> </Directory> </Directory> <?endif ?> The rest of the directory structure is based off a <DirectoryRef Id="CompanyProgramsDir"> so doesn't need to be duplicated. All components in the MSI have * as the component guid, so the conditional root folders above mean that the 32 and 64 bit MSIs will have different component guids. I also have a launch condition that stops the 32 bit MSI being installed on 64 bit windows, which it sounds you don't need. It all seems to be working so far. Dave -----Original Message----- From: Andres Juarez [mailto:andresj_...@hotmail.com] Sent: 30 August 2010 06:37 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Newbie x64 msi question Hi Bob, In your post > http://www.joyofsetup.com/2010/05/14/working-hard-or-hardly-working/. > Use the -arch switch and you get smart defaults. So, running candle with teh -arch switch does take care of marking the components at 64 bits, but if using the same Wix source file for the 32 and 64 bits installer with the only difference of the candle -arh switch, the Components GUIDS for the 64 and 32 bits installer are all the same. The two installers cannot install in the same box since the launch conditios are mutually exclusive. Do we still need to have unique GUIDS per components, I am almost sure we do, but just asking. Thanks Andres > Date: Sat, 7 Aug 2010 10:56:31 -0400 > From: b...@joyofsetup.com > To: wix-users@lists.sourceforge.net > Subject: Re: [WiX-users] Newbie x64 msi question > > On 8/4/2010 9:57 AM, Pally Sandher wrote: > > You need to set the Win64 attribute on your components. If it's not set > > they default to 32-bit components in an x64 package. > > An easy way to do it is to use a pre-processor variable set to "no" or > > "yes" whether you're building x86 or x64 packages respectively. Then you > > can simply use something like Win64="$(var.is64bit)" in all the > > components you need to. See > > http://wix.sourceforge.net/manual-wix3/preprocessor.htm > > > > Unnecessary: See > http://www.joyofsetup.com/2010/05/14/working-hard-or-hardly-working/. > Use the -arch switch and you get smart defaults. > > -- > sig://boB > http://joyofsetup.com/ > > > ------------------------------------------------------------------------ ------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------ ------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users </pre> <BR style="font-size:4px;"> <a href = "http://www.sdl.com"><img src="http://www.sdl.com/images/email logo_150dpi-01.png" alt="www.sdl.com" border="0"/></a> <BR> <font face="arial" size="2"><a href = "http://www.sdl.com" style="color:005740; font-weight: bold">www.sdl.com</a></font> <BR> <BR> <font face="arial" size="1" color="#736F6E"> <b>SDL PLC confidential, all rights reserved.</b> If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us.<BR> SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207.<BR> Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. </font> ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users