I believe Condition element only needs VersionNT64 to differentiate at runtime.
In 32-bit build, reference only Id_x86. In 64-bit build, reference both Id_x86 and Id_x64. -----Original Message----- From: StevenOgilvie [mailto:sogil...@msn.com] Sent: Monday, January 27, 2014 3:00 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Best practice for setting x86/x64 for MSI's and installing files... Hi, I didn't get much traction on my question or at least my last question... ALL of my MSI use this format in a variable.wxi files I have: <?if $(var.Platform) = x64 ?> <?define Win64=yes ?> <?define PlatformProductName = "$(var.ProductName) (64 bit)" ?> <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?> <?define PlatformCAQuietExecDLLEntry = "CAQuietExec64"?> <?define PlatformQtExecCmdLine = "QtExec64CmdLine"?> <?else ?> <?define Win64=no ?> <?define PlatformProductName = "$(var.ProductName)" ?> <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?> <?define PlatformCAQuietExecDLLEntry = "CAQuietExec"?> <?define PlatformQtExecCmdLine = "QtExecCmdLine"?> <?endif ?> Should I use: <?if $(sys.BUILDARCH) = x64 ?> and NOT <?if $(var.Platform) = x64 ?> ?? What about my wixlib where I have 2 files that have a 32 bit version and a 64 bit version what is the proper way to say 32 bit file install on a 32 bit OS and 64 bit file install on a 64 bit OS AND 32 bit file can be installed on 64 bit OS since the x86 MSI can be installed on 64bit OS? <Component Id="cmp_SQLite.Interop_x86" Guid="SOME GUID"> <File Id="file_SQLite.Interop_x86" KeyPath="yes" Source="$(var.sourcePath)ThirdParty\SQLite\x86\SQLite.Interop.dll" /> <Condition>< ! [ CDATA [NOT(VersionNT64) OR $(var.Platform) = "x86"] ] ></Condition> </Component> <Component Id="cmp_SQLite.Interop_x64" Guid="SOME GUID"> <File Id="file_SQLite.Interop_x64" KeyPath="yes" Source="$(var.sourcePath)ThirdParty\SQLite\x64\SQLite.Interop.dll" /> <Condition>< ! [ CDATA [VersionNT64 OR $(var.Platform) = "x64"] ] ></Condition> </Component> thanks, Steve ps I have put some spaces in the Condition since the nabble message format strips out the data -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Best-practice-for-setting-x86-x64-for-MSI-s-and-installing-files-tp7592126.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 ------------------------------------------------------------------------------ WatchGuard Dimension instantly turns raw network data into actionable security intelligence. It gives you real-time visual feedback on key security issues and trends. Skip the complicated setup - simply import a virtual appliance and go from zero to informed in seconds. http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users