I'm trying to use mono and wine on a ubuntu machine(22.04 LTS) to build my WIX installer project that will run as part of our CI\CD process.
I'm trying to build a .wixproj using MSBuild.exe. The project has a pre build event to gather the files and generate .wxs file (heat.exe)
but when it tries to run the command I receive the following error:
Windows Installer XML Toolset Toolset Harvester version
Copyright (c) .NET Foundation and contributors. All rights reserved.
heat.exe : error HEAT0001 : GetShortPathNameW assembly:<unknown assembly> type:<unknown type> member:(null)
Exception Type: System.EntryPointNotFoundException
Stack Trace:
at (wrapper managed-to-native) Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator+NativeMethods.GetShortPathName(string,System.Text.StringBuilder,int)
at Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator+NativeMethods.GetShortPathName (System.String fullPath) [0x00010] in <8b2afc051c77416da02c7a5aa12b5d5f>:0
at Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.MutateFiles () [0x000dd] in <8b2afc051c77416da02c7a5aa12b5d5f>:0
at Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.Mutate (Microsoft.Tools.WindowsInstallerXml.Serialize.Wix wix) [0x0004f] in <8b2afc051c77416da02c7a5aa12b5d5f>:0
at Microsoft.Tools.WindowsInstallerXml.Mutator.Mutate (Microsoft.Tools.WindowsInstallerXml.Serialize.Wix wix) [0x00035] in <13acedad176f4740bcdf107d029f167c>:0
at Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Run (System.String[] args) [0x001cc] in <05dc1d4b31e6439dabb75d17e14330a3>:0
The command its trying trying to run is:
mono /tmp/testfolder/Installers/Application/../../packages/WiX.3.11.2/tools/heat.exe dir Application/net6.0 -dr INSTALLDIR -ke -srd -cg ApplicationComponent -var var.Build -gg -out Application/Content.wxs
Any body know why I might be receiving the error or how to resolve it?
I'm Using WiX.3.11.2.
Thanks