sys.BUILDARCH uses the value set via the MSBuild Platform property (x86 for 
32-bit intel, etc.) automatically with recent releases of WiX. And most of the 
time you don’t need to set the Win64 attribute because the same input (the 
-arch argument to candle) that sets the BUILDARCH value from the MSBuild 
property automatically sets the Win64 default to an appropriate value. (the 
released chm docs give the wrong source for this automatic setting).


If you use the var.Platform value you are at the mercy of it being set to 
something you don't expect.






Blair





From: StevenOgilvie
Sent: ‎Wednesday‎, ‎January‎ ‎22‎, ‎2014 ‎11‎:‎42‎ ‎AM
To: General discussion for Windows Installer XML toolset.





Hello,

I use 1 product.wxs file at build time, the project file has different
configurations for X86 and X64 which allows me build 2 MSI's one for 32 bit
and one for 64 bit.

I have used these conditions but which one is correct?

<?if $(sys.BUILDARCH) = x64 ?>
  <?define Win=yes ?>
  <?define PlatformProductName = "$(var.ProductName) (64 bit)" ?>
  <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?define PlatformCAQuietExecDLLEntry = "CAQuietExec64"?>
  <?define PlatformQtExecCmdLine = "QtExec64CmdLine"?>
  <?else ?>
  <?define Win=no ?>
  <?define PlatformProductName = "$(var.ProductName)" ?>
  <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?define PlatformCAQuietExecDLLEntry = "CAQuietExec"?>
  <?define PlatformQtExecCmdLine = "QtExecCmdLine"?>
  <?endif ?>

OR

<?if $(var.Platform) = x64 ?>
  <?define Win=yes ?>
  <?define PlatformProductName = "$(var.ProductName) (64 bit)" ?>
  <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?define PlatformCAQuietExecDLLEntry = "CAQuietExec64"?>
  <?define PlatformQtExecCmdLine = "QtExec64CmdLine"?>
  <?else ?>
  <?define Win=no ?>
  <?define PlatformProductName = "$(var.ProductName)" ?>
  <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?define PlatformCAQuietExecDLLEntry = "CAQuietExec"?>
  <?define PlatformQtExecCmdLine = "QtExecCmdLine"?>
  <?endif ?>

As well some installs have 2 files, 1 for 32 bit and 1 for 64 bit and of
course I want the right one to be installed depending on the bitness of the
OS

i.e.:

32 bit file
<Condition></Condition>

64 bit file
<Condition></Condition>

thanks,

Steve



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Confused-when-installing-a-32-64-bit-MSI-using-1-product-wxs-file-tp7591962.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to