You know that UAC prompt you get when running setup.exe for an IM client? Ever wondered why there's an UAC prompt in the first place? Because Windows assumes that setup.exe needs admin privileges (unless .exe explicitly states that it doesn't). This piece of engineering doesn't even have a concept of ~/bin. In fact, there is/was an official W7 guideline that said that all programs must go into %ProgramFiles%, which is a system directory. Now, what sort of a imbecile decided that it's a good idea to let an underprivileged account install into a system directory - UAC or not - is beyond me. So, please, don't mix Windows in. While Linux distros have their dark moments, Windows is just one big service pack now.
The official installation path for Windows being Program Files is no different than the expected installation for the majority of .deb or .rpm files being /usr. In both cases, you can't install software with its default assumption as a unprivileged user. The defaults on both Windows and basically every Linux distribution assume software installs are done by a privileged account.
You can install to c:\Users\%USERNAME% if you want to, if the installer lets you pick a path, this is how Chrome installs. Just like you can install into ~/bin if you want to, but you are going to have to go a little out of your way to do it.
Windows is far more riddled with malware and spyware than Linux distros, their users are far more ignorant than the Linux crowd, so having %ProgramFiles% default to a system directory is substantially worse and damaging than letting apt-get (that can't even be run without root privileges) default to /usr. Take a look at a list of predefined paths available on Windows [1]. It doesn't have anything even approximating ~/bin. At the very least they could've said - "here, use %UserProgramFiles% if need be", but they just don't care. And if you try and install into C:\Users\...\Program Files, you will quickly be mis-detected as malware or spyware. Unless you are Chrome, which you are probably not. So, yeah, Windows is really hopeless.
You keep mentioning ~/bin, but I don't think any major distro ships with such thing. So I don't really see how the situation is any better on Linux than it is on Windows. And then Windows has the Folder Virtualization trick.
> And if you try and install into C:\Users\...\Program Files, you will quickly be mis-detected as malware or spyware
So it's Windows's fault if you use crappy anti-virus applications? If you'd use similar applications on Linux wouldn't it equally flag ~/bin as malware too?
> Now, what sort of a imbecile decided that it's a good idea to let an underprivileged account install into a system directory - UAC or not - is beyond me.
Unprivileged accounts do not have write access to %ProgramFiles% by default in Windows.
You know that UAC prompt you get when running setup.exe for an IM client? Ever wondered why there's an UAC prompt in the first place? Because Windows assumes that setup.exe needs admin privileges (unless .exe explicitly states that it doesn't). This piece of engineering doesn't even have a concept of ~/bin. In fact, there is/was an official W7 guideline that said that all programs must go into %ProgramFiles%, which is a system directory. Now, what sort of a imbecile decided that it's a good idea to let an underprivileged account install into a system directory - UAC or not - is beyond me. So, please, don't mix Windows in. While Linux distros have their dark moments, Windows is just one big service pack now.