It's been a gigantic annoyance for the people at Microsoft as they are trying to figure out how to do upgrades/uninstalls without the data you'd usually get from a deb or whatever.
How well a software developer / "manufacturer" deals with "setup" in the Windows ecosystem has almost always been a proxy for overall software quality in my experience. When "setup" is left as an afterthought I can usually expect other corners have been cut. When I see a custom binary running an installation I start thinking "brown M&M's".
[0] https://docs.microsoft.com/en-us/windows/msix/overview
[1] https://docs.microsoft.com/en-us/uwp/api/windows.management....
"You can run your desktop application installers through this tool and obtain an MSIX package that you can install on your machine or upload to the Microsoft Store. "
Gross.
Unfortunately it requires you to write (or copy from somewhere) literally thousands of lines of incomprehensible XML. You have to learn all the details of both MSI and the various novel sublanguages embedded in the WiX XML.
But fortunately you can generate all the XML from just a few lines of nice and clean C# using WiX#, which adds a user-friendly API on top of WiX and lets you forget about XML and databases entirely: https://github.com/oleg-shilo/wixsharp
To be fair, though, an MSI to install a 10 files in "C:\Program Files\AppName", register a couple .NET assemblies, create a couple of shortcuts, and throw a few values into the registry would amount to <100 lines of XML.
Here's a years-old WiX 2.0 syntax source file to install 4 files in "C:\Program Files\appname" and run an EXE embedded in the MSI to install a service: https://github.com/EvanAnderson/ts_block/blob/master/MSI/ts_...
I've only seen "thousands of lines" of WiX source when dealing programs that install a ton of files, or put scads of entries in the registry.
Most of the MSIs with WiX are based on a simple skeleton generated from a template, and using "includes" generated by the "candle" tool.
Understanding the Windows Installer and the WiX source feels analogous to what I see in "modern" web development-- a bunch of tools that developers use, seemingly without understanding what they do, to create a massive pile of edifice into which original code is finally placed.
Maybe they should provide better tools. Last I tried to deal with MSI I quickly went back to NSIS and got it done in a fraction of the time.
I will say though, I remember the documentation being helpful and fairly straightforward, if a tad large (but that's what you get with a tool that's supposed to solve a complex problem).
Are we living in the same universe? Did you mix up the OSes?
Then came the registry
Then came the AppData.
Now its more or less the same as on linux.
Your house has a kitchen, bathroom, bedrooms, "and so on". You don't keep your car or skilsaw in the ones listed, but there is a place for each.
There is nothing about MSI that enforces this. You can make an MSI that spews files all over, no problem.
MSIX is actually quite good. Apps run inside a semi-virtualised container, so that writes to the registry and AppData are redirected. Uninstalling the app therefore uninstalls all of it, even if the app doesn't cooperate. MSIX can also be upgraded automatically in the background by Windows itself.
However, it's new, so nothing uses it.