Remix.run Logo
4rt 3 days ago

the installation story for devs writing windows apps has been dreadful for 3 decades.

vs used to help you build setup.exe, which was always a huge chore to use.

clickonce was launched to replace all this with hosted manifests and auto-updates and modern features like that, and immediately forgotten about because it was so broken. nobody ever used it.

then they brought out WinUI and the windows store, which was so overly sandboxed that it didn't fit most use cases and the permissions system of the store never seemed to line up with the APIs themselves.

then they tried their best to destroy myget by launching winget, which got forgotten about again. now even MS doesnt use their own store.

7bit 3 days ago | parent | next [-]

Anecdotally, yesterday I launched the Windows sandbox to investigate some files and noticed that notepad.exe was not available. A quick research revealed that this is because notepad.exe was replaced by the modern variant with Colipot and shit, which is an AppX package (Windows Store file format). And since the store was ripped out of the sandbox, there's no Notepad in it.

I'm not sure I would say Microsoft forgot about the store. I think Microsoft is like a Dog that has no head, no legs, only tails. And these tails have their own will and don't care about the dog in the slightest.

4rt 3 days ago | parent [-]

rumour has it the next version of windows will be called Microsoft 365 Azure for Desktop XBOX Edition so that each of the executives in the money making sections gets their piece.

ikidd 2 days ago | parent [-]

You forgot to shoehorn Copilot in there. They renamed Office to something like that, not even kidding.

4rt 2 days ago | parent [-]

yeah i just heard, i'm changing my prediction to Microsoft 365 Copilot Xbox Edition

Traubenfuchs 3 days ago | parent | prev | next [-]

When I was developing C# winforms applications 15 years ago, I just created a fat signed .exe that was then distributed. Installers and click once stuff was a big turn off for users.

On startup, if not already there, it automagically copied itself to the installation directory, created an autostart directory link and started it from the new location and got killed with a named pipe command. It contained and extracted another .exe that was continuously checking for new versions, downloading them and starting them.

As malwary as it gets but it worked flawlessly!

The windows store nightmare that came after looks dreadful.

tonyedgecombe 2 days ago | parent | next [-]

I would have hated that, it looks like one thing (a standalone exe) but it is doing something else (installer like).

Traubenfuchs 2 days ago | parent [-]

Non technical users don‘t understand any of this.

tonyedgecombe 2 days ago | parent [-]

Which is even more of a problem.

juujian 2 days ago | parent | prev [-]

Love it, jank like that might explain why windows is so busy on startup...

iamcalledrob 3 days ago | parent | prev | next [-]

Not to mention the need for a code signing certificate, which even in 2026 is a gigantic and expensive hassle to obtain.

You can spend weeks of effort and hundreds of dollars just to ship an installable hello world app these days. The MS store takes care of signing, but there are other trade-offs.

The entire desktop TTHW (time to installable hello world) story is horrible across the board:

- Win: Decent tech foundation for updates made insufferable by code signing requirements.

- Mac: No update story, cobble together a bunch of tools/scripts, notarize releases with Apple (not very onerous), hope you don't ship an update that crashes at launch because you broke your updater too.

- Linux: No consensus on how to package. Bob wants a .deb, Alice wants a snap. Flatpak seems to be winning overall. The best tool to smooth over Win/Mac installer headaches (Conveyor) doesn't support flatpak. Bummer.

JodieBenitez 3 days ago | parent [-]

> No consensus on how to package. Bob wants a .deb,

Bob wants a deb. I give him a deb. Bob is not happy because I compiled the software with an incompatible glibc. I deploy a webapp for Bob. Alice gets to use it too.

cogman10 2 days ago | parent | next [-]

And then there's Gentoo just smuggly accepting fate and always rebuilding everything rather than trying to force compatibility with libraries.

hacker_homie 2 days ago | parent [-]

Honestly it really has been nice down here in Gentoo, now they have bin packages it even use it on laptops.

I even use flatpaks for the stuff I don't want to build, everything just works most of the time.

there are only two versions of libc mine and the one you brought with you.

zenethian 2 days ago | parent [-]

This kinda sounds like hell for low memory machines. RIP shared memory optimizations.

PhilipRoman 2 days ago | parent | prev [-]

Bob wants a deb. I tell him to pound sand and give him a statically linked executable and pray that DNS works. If the software is still relevant in five years, some Debian maintainer will take an ancient version, convert it to use shared libraries, apply a dozen patches and give a .deb to Bob.

ThatMedicIsASpy 2 days ago | parent | prev | next [-]

Everything my W11 VM has was installed with winget.

hacker_homie 2 days ago | parent | prev | next [-]

clickonce for a brief shining moment was the closest we ever got to being able to deploy an application like a webpage.

I did run into a lot of issues with the store/winrt APIs where there were backdoors that the NTDev team used to work around all the limitations, but they would never publish them.

izacus 3 days ago | parent | prev [-]

> vs used to help you build setup.exe, which was always a huge chore to use.

Was it... REALLY though? Everyone knew how to use the setup wizards.

4rt 3 days ago | parent | next [-]

i think it's telling that Nullsoft created their own installer for WinAmp and its still 20 years later one of the most sane and popular ways of distributing apps.

RedShift1 2 days ago | parent [-]

I'm still using it to distribute/update production apps and whilst the script language is a bit funky, it works reliably. And the tools work under Linux too, so I can easily integrate a "create setup" step in the CI/CD environment.

RedShift1 2 days ago | parent | prev | next [-]

Using the setup wizards isn't the hard part... It's creating them.

tonyedgecombe 2 days ago | parent [-]

Tools like Inno Setup make the easy parts very easy and the hard parts doable.

LtWorf 3 days ago | parent | prev | next [-]

The problem wasn't using them, it was creating one for your software.

iberator 2 days ago | parent | prev [-]

Next, next, next, next Except choosing installation path.

I'm glad that after windows 10, you can finally install most software as NOT ADMIN via disabling(!) UAC completely :)