Hi guys,

I have created a WiX 3.5 project in VS2010 and added a few project references. 
One of the projects is a WCF IIS project. Wix has automatically generated the 
following Product.Generated.wxs file:

<?xml version='1.0' encoding='UTF-8'?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
  <Fragment>
    <ComponentGroup Id="Product.Generated">
      <ComponentGroupRef Id="MyProject.Core.Binaries" />
      <ComponentGroupRef Id="MyProject.Core.Content" />
      <ComponentGroupRef Id="MyProject.Core.Satellites" />
      <ComponentGroupRef Id="MyProject.Service.IisHost.Binaries" />
      <ComponentGroupRef Id="MyProject.Service.IisHost.Content" />
      <ComponentGroupRef Id="MyProject.Service.IisHost.Satellites" />
      <ComponentGroupRef Id="MyProject.ServiceContracts.Binaries" />
      <ComponentGroupRef Id="MyProject.ServiceContracts.Content" />
      <ComponentGroupRef Id="MyProject.ServiceContracts.Satellites" />
      <ComponentGroupRef Id="MyProject.Service.Binaries" />
      <ComponentGroupRef Id="MyProject.Service.Content" />
      <ComponentGroupRef Id="MyProject.Service.Satellites" />
    </ComponentGroup>
  </Fragment>
</Wix>

My issue is that I want Binaries and Satellites groups to go to 
INSTALLLOCATION\bin with Content groups going to just INSTALLLOCATION. I have 
added the ComponentGroupRef to the product feature so it gets installed as 
requested, but I can't figure out how to assign different ComponentGroupRef 
items to different locations.

My features set looks like this:

    <Feature Id="ProductFeature"
             Title="MyProject Service"
             Level="1"
             AllowAdvertise="no"
             InstallDefault="local"
             Absent="disallow"
             ConfigurableDirectory="INSTALLLOCATION">
      <!-- Note: The following ComponentGroupRef is required to pull in 
generated authoring from project references. -->
      <ComponentGroupRef Id="Product.Generated" />

      <ComponentRef Id="ServiceWebsite" />

      <Feature Id="Postgres"
               Title="Postgres Support"
               Level="1"
               AllowAdvertise="no"
               InstallDefault="local"
               Absent="allow">
        <ComponentRef Id="PostgresComponent" />
      </Feature>

    </Feature>

My directory structure looks like this:

    <Directory Id="TARGETDIR"
               Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLLOCATION"
                   Name="MyProject.Service">

          <Directory Id="bin"
                     Name="bin">

          </Directory>
        </Directory>
      </Directory>
    </Directory>

So I want an outcome like this:

    <Directory Id="TARGETDIR"
               Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLLOCATION"
                   Name="MyProject.Service">

      <ComponentGroupRef Id="MyProject.Core.Content" />
      <ComponentGroupRef Id="MyProject.Service.IisHost.Content" />
      <ComponentGroupRef Id="MyProject.ServiceContracts.Content" />
      <ComponentGroupRef Id="MyProject.Service.Content" />

          <Directory Id="bin"
                     Name="bin">

      <ComponentGroupRef Id="MyProject.Core.Binaries" />
      <ComponentGroupRef Id="MyProject.Core.Satellites" />
      <ComponentGroupRef Id="MyProject.Service.IisHost.Binaries" />
      <ComponentGroupRef Id="MyProject.Service.IisHost.Satellites" />
      <ComponentGroupRef Id="MyProject.ServiceContracts.Binaries" />
      <ComponentGroupRef Id="MyProject.ServiceContracts.Satellites" />
      <ComponentGroupRef Id="MyProject.Service.Binaries" />
      <ComponentGroupRef Id="MyProject.Service.Satellites" />

          </Directory>
        </Directory>
      </Directory>
    </Directory>

Can someone point me in the right direction?

Cheers,

Rory

------------------------------------------------------------------------------

_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to