Hi folks, I have a Services installer that uses 5 merge modules (no I can't go away from merge modules to wixlibs not the way our services install we have 5 different services that install a base of same files for each service in a different directory for each service)...
Currently I have to VS solutions 1 for x86 and 1 for x64. I want to have only one VS solution for both x86/x64 I know howto do that, however I am stuck on how I can conditionally install the merge modules based on the platform of the OS... i.e. on a component I can do: <Component Id="cmp_SomeDll" Guid="{A GUID}"> <File Id="file_SomeDll" KeyPath="yes" Source="$(var.tcpSourcePath)\lib\x86\SomeFile.dll" /> <Condition> </Condition> </Component> <Component Id="cmp_SomeDll_x64" Guid="{A GUID}" Permanent="no" Shared="no"> <File Id="file_SomeDll_x64" KeyPath="yes" Source="$(var.tcpSourcePath)\lib\x64\SomeFile.dll" /> <Condition> </Condition> </Component> that way I can compile the WIX project for either x86 or x64 and the proper file is installed... How do I do that for a merge module? i.e. here is the merge ref and the merge module elements: <MergeRef Id="Enterprise1ServicesMM"/> <MergeRef Id="Enterprise2ServicesMM"/> <MergeRef Id="Enterprise3ServicesMM"/> <MergeRef Id="Enterprise4yServicesMM"/> </Feature> </Product> <Fragment> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="DIRECTORY_PATH_SERVICES" DiskId="1"> <Merge Id="Enterprise1ServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlib\Enterprise1ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise2ServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlib\Enterprise2ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise3ServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlib\Enterprise3ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise4yServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlib\Enterprise4ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise1ServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlibx64\Enterprise1ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise2ServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlibx64\Enterprise2ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise3ServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlibx64\Enterprise3ServicesMergeModule.msm" Language="1033"/> <Merge Id="Enterprise4yServicesMM" DiskId="1" SourceFile="$(env.TLSharedServices)\Installers\wixlibx64\Enterprise4ServicesMergeModule.msm" Language="1033"/> I have two merge modules for the same Service 1 x86 and 1 x64 but how do I conditionally install the proper one for the OS?? Thanks, Steve ps I think I am screwed on this one... -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Need-help-how-to-put-a-condition-on-a-merge-module-in-Product-wxs-tp7587670.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users