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

Reply via email to