Search code examples
wixwix4

Wix v3 to Wix v4 no Product-tag anymore?


The code below which I borrowed as an example from https://github.com/wixtoolset/issues/issues/5610 is for Wix v3. (don't know if the code works, it is about the file structure)

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="WiXv3_Setup" Language="1033" Version="1.0.0.0" Manufacturer="SeaRisen LLC" UpgradeCode="71b53809-790d-483b-8ce8-d8f52c746b22">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
        <MediaTemplate />

        <Feature Id="ProductFeature" Title="WiXv3_Setup" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
        </Feature>
    </Product>

    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLFOLDER" Name="WiXv3_Setup" />
            </Directory>
        </Directory>
    </Fragment>

    <Fragment>
        <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
            <!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
            <!-- <Component Id="ProductComponent"> -->
                
      <File Source="$(var.ToClipboard.TargetPath)" />
            <!-- </Component> -->
        </ComponentGroup>
    </Fragment>
</Wix>

We clearly see a structure Wix > Product > Package

When starting a Wix v4 project using

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">

It seems that <Product> is not allowed anymore under Wix tag.

I could not find any documentation about this if <Product> not anymore supported in Wix v4. Am I missing an extension? For now I've removed <Product> from <Wix> > <Product> > <Package>-tag and changed it to <Package> so that it becomes <Wix> > <Package>.

Is this correct to drop <Product> tag and wrap everything in a <Package> tag?

<Product> tag allowed the use of a <Conditions> tag, how do we use this now with <Package> tag?


Solution

  • The Product and Package elements in WiX v3 were combined and simplified in WiX v4.