Windows is decades behind other operating systems in installation technology. For a long time it was so incredibly painful and hard to get right that it seemed like everyone paid for a product called InstallShield to do it for them. Once I knew what an InstallShield installer looked like, I realized that I was encountering vanishingly few pieces of Windows software whose installers weren’t paying for InstallShield.
Wix is free and open and didn’t seem actively maintained last time I tried it. It takes the raw disaster of the Windows Install ecosystem, and adds the brittleness of XML. It’s a free, utterly painful, alternative to InstallShield. No fault of the Wix team, the Windows install ecosystem is just that bad.
Winget, NuGet and Cocolately are solving the problem, finally, but they’re still decades behind Apt and RPM.
Anyway, I assert that building an install package correctly in Windows is one of the weird lost skills like “how to make a pencil”. Supposedly no living person knows how to make a complete (modern) pencil, just their own part of it.
The folks who wrote InstallShield understood building Windows packages backwards and forwards. I haven’t seen evidence that any living human since has achieved the same level of mastery (of an admittedly deeply thankless job).
I like to (humorously) estimate the number of living humans who can build even a low quality Windows installer (without using InstallShield) at maybe 4. This number was derived from seeing the same two users giving all the (useful) answers on (every searchable) forums, and generously assuming there’s two more out there who already retired.
This is all a humorous snapshot of a bad moment in the history of software. I haven’t needed or wanted to build a Windows installer in many years. I assume the situation has improved mildly, because I figure it cannot possibly have gotten worse.
Yeah, that’s mostly true.
Windows MSI API is… something.
Before I started working on it, I was ready to everything, even to see installation scripts in Visual Basic but damn, for all the logic they are using Database with a very simple SQL language that has even no support of foreign keys!
But now I feel I can implement almost anything required on bare API after a month of work with it.
Windows is decades behind other operating systems in installation technology. For a long time it was so incredibly painful and hard to get right that it seemed like everyone paid for a product called InstallShield to do it for them. Once I knew what an InstallShield installer looked like, I realized that I was encountering vanishingly few pieces of Windows software whose installers weren’t paying for InstallShield.
Wix is free and open and didn’t seem actively maintained last time I tried it. It takes the raw disaster of the Windows Install ecosystem, and adds the brittleness of XML. It’s a free, utterly painful, alternative to InstallShield. No fault of the Wix team, the Windows install ecosystem is just that bad.
Winget, NuGet and Cocolately are solving the problem, finally, but they’re still decades behind Apt and RPM.
Anyway, I assert that building an install package correctly in Windows is one of the weird lost skills like “how to make a pencil”. Supposedly no living person knows how to make a complete (modern) pencil, just their own part of it.
The folks who wrote InstallShield understood building Windows packages backwards and forwards. I haven’t seen evidence that any living human since has achieved the same level of mastery (of an admittedly deeply thankless job).
I like to (humorously) estimate the number of living humans who can build even a low quality Windows installer (without using InstallShield) at maybe 4. This number was derived from seeing the same two users giving all the (useful) answers on (every searchable) forums, and generously assuming there’s two more out there who already retired.
This is all a humorous snapshot of a bad moment in the history of software. I haven’t needed or wanted to build a Windows installer in many years. I assume the situation has improved mildly, because I figure it cannot possibly have gotten worse.
Yeah, that’s mostly true. Windows MSI API is… something. Before I started working on it, I was ready to everything, even to see installation scripts in Visual Basic but damn, for all the logic they are using Database with a very simple SQL language that has even no support of foreign keys! But now I feel I can implement almost anything required on bare API after a month of work with it.