burnwix4

WiX4 Toolkit generates error "wix7506" when building a bundle


I'm learning to work with the Wix Toolset using Visual Studio and Heatwave. I've successfully build multiple example projects:

Now i wanted to experiment with the msi providing dependency/companion software. As references i used wix and this repo

I am using WiX 4.0.1 on a windows 10 pc.

The error i get from visual studio is:

WIX7506 The validation .wixpdb file: 'path to file' was not from a Windows Installer database build (.msi or .msm). Verify that the output type was actually an MSI Package or Merge Module.

Can someone explain to me what i'm doing wrong? And how to fix it, so that i get a proper working msi bundle.

thanks for your help.

here are the source files:

wixproj:

<Project Sdk="WixToolset.Sdk/4.0.0">
  <ItemGroup>
    <None Include="license.rtf" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.1" />
    <PackageReference Include="WixToolset.Netfx.wixext" Version="4.0.1" />
  </ItemGroup>
</Project>

Package.wxs:

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
     xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"
     xmlns:netfx="http://wixtoolset.org/schemas/v4/wxs/netfx">
    <Bundle Name="3.1_InstallNetFramework Bundle" Manufacturer="MyCompany" Version="1.0.0.0" UpgradeCode="68652e01-f08b-4335-80aa-178eae53c4e5" >

        <BootstrapperApplication>
            <bal:WixStandardBootstrapperApplication Theme="rtfLicense" LicenseFile="license.rtf"/>
        </BootstrapperApplication>
        
        <Chain>
            <!--Install netFramework version 4.7.2-->
            <PackageGroupRef Id="NetFx472Web"/>
            
            <!--Install the actual app-->
            <!--<MsiPackage Id="App1Install" SourceFile="01_InstallerWithUI.msi"/>-->
        </Chain>        
    </Bundle>   
</Wix>

license.rtf:

{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1031{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\colortbl ;\red0\green176\blue80;\red192\green192\blue192;}
{\*\generator Riched20 10.0.19041}\viewkind4\uc1 
\pard\sa200\sl276\slmult1\f0\fs22\lang7 This is an example License.\par
It holds \ul no\ulnone  meaning.\par
\par
Thank you for your \cf1 interest\cf0  in this \highlight2\i project\highlight0\i0 .\par
}

Solution

  • The default OutputType for a .wixproj is Package (creates an MSI). Your Package.wxs is actually creating a Bundle which means the filename is a bit confusing. I'd recommend using something more like Bundle.wxs.

    Anyway, since you are building a Bundle you want to change the OutputType in your .wixproj to Bundle, kinda' like so:

    <Project Sdk="WixToolset.Sdk/4.0.0">
      <PropertyGroup>
        <OutputType>Bundle</OutputType>
      </PropertyGroup>
      ...
    

    HeatWave will do the above for you automatically if you create your project using the Bundle template instead of the Package template.