4 ms·
Twenty years maintaining, but the quality of the documentation doesn’t show that. Making an installer in WiX 4 with only one or two fancy things required 3-4 da
by Kwpolska 3y ago
Twenty years maintaining, but the quality of the documentation doesn’t show that. Making an installer in WiX 4 with only one or two fancy things required 3-4 days’ worth of trial-and-error, and searching the WiX sources to figure things out. The docs barely tell you anything.
- viraptor 3y agoSame, but I just gave up after 2 days. I really wish there was a one-click option in VS.net to create an installer that checks/pulls the required version of runtime, installs the target exe, all its DLL dependencies, and all custom files marked for release. It's what 99.9% of apps need, so why is there no "do the defaults" path? You even need to pass things through the Heat generator to get multiple resulting files listed automatically. This is not an exclusive Wix issue though - no project offers that as far as I can tell and it really sucks.
- kiike 3y agoI'm not a developer for Windows apps but had to use WiX to generate an installer for a Python open source project I am collaborating with. Installing one binary in a specific location? Easy. Couple hundred files distributed among multiple nested directories? That was a miserable experience and but I could manage to pull it off. I didn't use heat. The XML was hand-coded and the file listing was generated with a Python script that walked the directory tree and generated the Directory, Component and ComponentGroup entries. Apparently with Wix4, heat is deprecated, unneeded in Wix5. I couldn't even get it to install and have the executable. So confusing!
- henry_flower 3y agoheh, I recently "ported" a Linux app to Windows and wrote a simple installer using wix 5 (it was horrible) to even obtain wix v5: first, using scoop, I installed "dotnet-sdk"; second, using the "dotnet" command, I got the wix.exe executable via > dotnet tool install --prerelease --global wix
- sanqui 3y agoI wasn't able to figure it out. The docs [1] have absolutely no information or overview on how the tool works, or how you should get started with creating a simple installer. Besides setup instructions, it only has details on individual sub components, beginning with with "Burn bundles". All linked tutorials are for previous versions of WiX. Is the expected workflow that I read a v3 tutorial and then read the "v4 for v3 users" article (which immediately leaves me discouraged with "A lot about WiX has changed between v3 and v4"), or that I immediately purchase enterprise support? [1]: https://wixtoolset.org/docs/ https://wixtoolset.org/docs/
- Kwpolska 3y agoMy favourite page is "Specifying source files" [0], which seems like an important thing for an installer, but all this page contains is: > To be written. To volunteer, leave a comment at the related issue on GitHub. If you start with Visual Studio, create a project with their (free) plugin, and configure Heat [1], you might get a working installer. [0]: https://wixtoolset.org/docs/tools/payloads/ https://wixtoolset.org/docs/tools/payloads/ [1]: https://wixtoolset.org/docs/tools/heat/ https://wixtoolset.org/docs/tools/heat/
- nullindividual 3y agoI used to use WiX for simple app deployments (create Programs File folder, dump assets) and Windows Services. The v3 documentation is decent for this. https://wixtoolset.org/docs/v3/ https://wixtoolset.org/docs/v3/ I’m not sure what development in the MSI world necessitates a radical change in how WiX functions, but apparently that is the case. orca.exe from one of the older Win SDKs can really help with your understanding of the MSI format, which helps when building for WiX.
- croes 3y agoMaybe we should try LLMs to generate documentation.
- ptx 3y agoWhy not cut out the middleman and have it generate the XML? Or let the LLM generate the MSI database directly, without WiX. (Good luck debugging!)
- dyerjohn 3y agoLOL! I was asking Gemini Wix questions. The answers were wrong! When I pointed that out I got apologies and more code that didn't work. As with most newbies, I finally trial and error'ed my way out. I want to know how the "experts" have figured out how to use Wix. What is it that I should know but don't about learning Wix?
- hypercube33 3y agoI actually got a working WiX MSI only because of GPT helping make 90% of the installer. the rest were random stack exchange posts because the docs or guides I found to write the XML were way off, old, too new for wix3 or something else was absolutely missing.
- RedShift1 3y agoI switched from wix to NSIS. It's not perfect but it's certainly a lot easier, and whatever problem you may have, the solution is usually only a Google search away.
- klabb3 3y agoI’ve been keeping a pulse on Tauri for a long time. They’re thinking the same, I believe, because they are trying to move over. And Wix is just installation on one out of 5-6 platforms. Native development is so convoluted and riddled with complexity. Linux though is no exception, since this it’s a distro issue. MacOS is generally much better, with fewer moving pieces – most of the overhead is from notarizing and signing…
- zogomoox 3y agoI can recommend Wixsharp (https://github.com/oleg-shilo/wixsharp https://github.com/oleg-shilo/wixsharp), you no longer have to learn the insane wix xml syntax to create an installer.
- ptx 3y agoI second this recommendation. In addition to using more sensible and consistent syntax, WixSharp also provides sensible defaults that just work, such as always using "major upgrades" so that you don't have to worry about MSI trying to be clever and sometimes (but sometimes not!) only partially upgrading the app.
- mopsi 3y agoAgreed. Even basic things like detecting if the installer is making a fresh install or upgrading existing installation require arcane condition checks: https://stackoverflow.com/questions/320921/how-to-add-a-wix-custom-action-that-happens-only-on-uninstall-via-msi/17608049 https://stackoverflow.com/questions/320921/how-to-add-a-wix-... And worst of all, all sources I've ever found (including the linked answers) contain at least a few mistakes or unhandled cases, so I'm not confident enough to make any improvements. Documentation could really use battle-tested examples from people who understand MSI installers very well.
- nray 3y agoI'm wondering how much of the frustration in the comments here is due as much to the arcane design of the Windows Installer format as to shortfalls in WiX and its documentation. I would say that you need a good understanding of MSI databases before trying to use WiX, which implies thinking about the installer while developing the app, which was the goal of the toolkit. Packaging can be hard on any platform but Microsoft really outdid itsself with MSI. If you already have a finished product and just need to package it then NSIS or Inno were much simpler to pick up. Many products are released as MSI files because that's what enterprise deployment tooling supported, but inside is a setup executable, which defeats the entire transactional rollback design of the thing.
- Kwpolska 3y agoIf you’re building something simple (dump files into Program FIles + create a shortcut), WiX is not that hard, and it does not require much understanding of the MSI internals. But the docs just aren’t there to help you and to tell you the five things about MSI you need to understand, and there are no complete and self-contained example WiX projects.
- mopsi 3y agoThe Windows Installer format is very poor indeed, but WiX adds too little to improve the situation much. Most people I know have created Python scripts to add more layers of abstraction to make installers easier to manage. I wish WiX shipped with those abstractions. At the moment, WiX feels like a box of parts for a kit car when I only need to adjust mirrors and change radio channel. Documentation adds to the frustration, because while it tells you details about specific parts, it doesn't offer a broader view: how parts connect to each other to form a drivable car. So you're left guessing and improvising, and you introduce bugs every time your intuition doesn't match how things really work.
- deleted 3y ago[deleted]