[wix-devs] Running WiX on Linux using Mono

Iain Nicol git at iainnicol.com
Fri Jul 7 16:23:55 PDT 2017


Hi Rob et al.,

  > This isn't something we'll consider for WiX v3.x (WiX v3.x line is done)

Understood.  I have some prototype code against WiX v3 which I intend to
port it to WiX v4.

  > 4. Stopping at .idt files - unfortunately, with Merge Modules there
  > are phases of processing that happen after .idt file generation (WiX
  > actually uses .idt files to create the MSI today). You are probably
  > avoiding use of Merge Modules today. So, I'll keep this request in
  > mind but I don't remember the processing is as simple as you make it
  > out to be here. <smile/>

Heh.

  > 5. .NET Core - I'm currently investigating how much of WiX can move to
  > .NET Core.

This is what I'm personally most interested in.

It seems to me very doable with .NET Core v2.0.  Mainly you have to
update the msbuild header, change the target framework, and add
additional NuGet dependencies.  I've got some prototype code at
<https://gitlab.com/brainsick/wix-cross/>.  In particular, the shell
script dotnet-core-port.sh got me 80% of the way to building the SDK
tools, plus candle, light, and lit.

Of course, my shell script butchers the csproj files etc, so I'm not
suggesting to run it and commit the changes to WiX.  Also, I suspect
.NET Core would require dropping support for older versions of Visual
Studio.

  > The goal isn't x-plat

Fair enough, but impressively WiX on .NET Core almost "just works" if
you run it on Linux using Wine.  That's magically a huge step up from
Mono.

  > maybe this work moves from "we'll try not to completely break WiX use
  > on Linux" to "get a 'winterop.exe' Linux binary from PuTTY" or maybe
  > even "get 'winterop.exe' Linux binary from some side repo under
  > github.com/wixtoolset)".

So, removing the Wine dependency (with a Linux native winterop) doesn't
hugely interest me personally.  Of course, Simon Tatham would rather
drop the Wine dependency, and he's done some work towards that.  So I
presume he'd be happy if, as you suggest, the WiX on Linux story could
become "fetch libwinterop.so, from PuTTY or a side repo".

  > voicing [your opinion] in a project that primarily targets Windows
  > isn't likely to accomplish anything but ruffle feathers of people who
  > work on the project (aka: probably don't think Windows sucks).

FWIW, my motivation is that it's convenient to be able to cross compile
when developing free and open source software.  And WiX is clearly the
gold standard way to create installers for Windows.  Of course, I
completely realise that cross compiling WiX and MSIs is incredibly
niche!

Regards,
-- 
Iain


More information about the wix-devs mailing list