Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installer doesn't offer an option to install in Program Files / Program Files (x86) #1

Open
Neustradamus opened this issue Nov 11, 2020 · 46 comments

Comments

@Neustradamus
Copy link
Contributor

Neustradamus commented Nov 11, 2020

After the last comment from @mimi89999, the ticket has been blocked.

Thanks for your comments, hope that devs (@anaisbetts, @flagbug, @jglovier, @jspahrsummers, @keithduncan, @robb) can now understand all people, I do not know how many.

Recall: Since a very long time, more 5 years (I do not know how many exactly), people have requested the possibility to select the installation folder on Windows OS instead of the %LocalAppData% forced.

Microsoft Windows uses since a very long time:

  • "Program Files" on 32-bit or 64-bit OS: %ProgramFiles%
  • "Program Files (x86)" for 32-bit applications on 64-bit OS: %ProgramFiles(x86)%

Of course, people must to select another folder too, but it is always impossible at this time, several years after.

A lot of server admins and users have informed about the space problem on a machine.

Multiple software installations of the same software on a machine like a lot of people have said, for example me here:

On several machines with more 100 users, I have seen several software installations:

  • 100x Brave installations
  • 100x GitHub Desktop installations
  • 100x GitHub Atom installations
  • 100x Myki installations
  • 100x by each Electron based software installations
  • ...

I will not cited all softwares...

And with deployment of roaming user profiles :

  • Data multiplication by users on machines
  • Data multiplication by users on servers
  • Data multiplication by users on local backups
  • Data multiplication by users on external backups
    ...

A USB key is very very small to solve this historical problem!

One dev (@anaisbetts) offers an USB key to all people.

if you send me a self-addressed, stamped envelope, I will be glad to send you a $5 USB key to store all of the Discords you need.

The problem is that we need several HDD supports with a lot of To of space (physical, and external).

cc: @tovodeverett, @physhster, @andymac4182, @mwhitis, @eeevans, @DarwinJS, @stajs, @skaryshev, @hatton, @niik, @phw198, @swirly, @cztomczak, @josephrowe, @steveward, @tierninho, @paulmenzel, @as-cii, @nathansobo, @iolsen, @damieng, @sadick254, @AndreaGriffiths11, @Ben3eeE, @krnowak, @50Wliu, @ungb, @thomasjo, @j-f1, @CodeMan99, @TylerMoeller, @wasifhossain, @hobbsd, @aisa0906, @shiftkey, @rsese, @MandarSant, @alex-robbins, @david-mears, @pt-dev, @mickey203, @lee-dohm, @rbcmhelpdesk, and all others...
I will add some others in comments, the list is not complete.

Guys, please add:

  • Not listed people who have this problem
  • All impacted projects by this problem

Note: The problem is not in softwares directly but in the Squirrel: https://github.com/Squirrel
All software devs said me, this problem must be solved by Squirrel devs.

Linked to (not all, a lot of tickets);

Brave:

Chromium / Google Chrome:

Electron:

Filtration:

GitHub Desktop:

GitHub Atom:

hyper:

Squirrel:

Wire:

Etc.

@Neustradamus
Copy link
Contributor Author

Neustradamus commented Nov 11, 2020

Please read the main ticket, thanks in advance.

cc: @kevinsawicki, @Zireael07, @batjko, @50Wliu, @thx1200, @shawnr13, @paulcbetts, @mattwolfgang, @stevesobol, @Zireael07, @pmall, @Jtracy-ItPro, @idontgitit, @lovebdsobuj, @frosztbyte, @stajs, @Pinpickle, @bostondv, @decaylong, @csnardi, @Hrxn, @kubetz, @qubodup, @Zireael07, @PaulWalkerUK, @itodorovic, @enlait, @estomagado, @finkiki, @BramVanroy, @izuzak, @StianAsplund, @Carighan, @J0celyn, @ndraiman, @lovebdsobuj, @ntungare, @rm-v, @MaximSokolov, @AluminiumTech, @RedFantom, @labibzeidan, @aleph-naught2tog, @nguyenlekhtn, @bensku, @pha-Z, @Rinoka, @rsese, @wuya666wuya, @ntungare, @cybermerlin, @saun4app, @dizzy-egg, @bensku

@Neustradamus
Copy link
Contributor Author

Neustradamus commented Nov 11, 2020

Please read the main ticket, thanks in advance.

cc: @RonaldZaZ, @luetm, @Stanzilla, @MarshallOfSound, @DRSDavidSoft, @LukeTOBrien, @Asymat, @gojanpaolo, @PBMCube, @BramVanroy, @mnquintana, @abenitesDC, @matt40k, @allanrsmith, @scottie-uk, @the-j0k3r, @shanept, @jenroper, @mmahacek, @iouri-s, @sTiKyt, @ffflorian, @sarthak-creator, @PBMCube, @Ryandaydev, @joshaber, @JamesYeoman, @SimranKnight, @Ragolution, @Megalomaniak, @KulaGGin, @animanoir, @kylegnally, @alefred, @fffnite, @xinxilas, @animanoir, @hecon5, @CecileL, @Champion-Lai, @munichjake, @EmberHeartshine, @Calinou, @russlescai, @xelra, @RichardMisencik, @ericcornelissen, @bartop, @phillibert, @jolsen71, @Jacq, @benignbala

@Neustradamus
Copy link
Contributor Author

Please read the main ticket, thanks in advance.

cc: @TessChan, @nstr, @CharlieHess, @sandyarmstrong, @BarryThePenguin, @malipetek, @bergziege, @DigitalNikki, @davidbuckleyni, @TautFlorian, @AndyBitz, @Xezis, @ben-wallis, @GlenCFL

@Neustradamus Neustradamus pinned this issue Nov 11, 2020
@mimi89999
Copy link

There is also several points that I mentioned that won't be resolved by Squirrel devs buying us a huge server class HDD:

  • Breaks software restrictions policies that disable execution from user profile folders (a security requirement we have)
  • Profile sync time

@dizzy-egg
Copy link

dizzy-egg commented Nov 11, 2020

This whole issue seems incredibly stupid.

It's been a standard convention for decades to install programs to the Program Files directory and save user data to the Application Data folders. Hence their names. The argument should end there.

Arguing that it's better/simpler/less restrictive for the user to install to AppData is totally beside the point. You could argue that it's better to install everything to /tmp because it always has +777 permissions but that's a ludicrous idea, just like storing executables in a profile folder is.

If a user is too lazy, stupid, or inexperienced to know how to click a UAC prompt or to choose a custom installation folder then they have zero business installing their own software anyway.

Seriously, this would be like a Linux package manager trying to install software in /home/. It's unheard of and it's stupid.

The real solution is to stop using software installed via Squirrel. Write to the software vendors and encourage them to use a competent installer. Use Universal Extractor to extract installers and run applications directly.

@stevesobol
Copy link

So... thanks, guys, for spamming me with notifications of a new Github issue that is nothing more than a bitchfest complaining about the devs being stupid (which, admittedly, they are).

Stop using Squirrel, convince publishers already using Squirrel to stop using it, and move on. I am sympathetic to, and agree with, the people making the very valid complaints about installers installing into %APPDATA%, but this is a lost cause.

@xelra
Copy link

xelra commented Nov 12, 2020

I honestly think after so many years of malpractice, we should bring this to Microsoft's attention and try to get this software banned as a malicious app in the security center.

@stevesobol
Copy link

@xelra um... no. that doesn't affect the devs, it affects a lot of legitimate software that uses Squirrel to install.

Absolutely not. VERY bad idea - and it's not a malicious app, anyhow. Squirrel may be badly designed, but it isn't malware.

How about doing what I suggested?

Stop using Squirrel, convince publishers already using Squirrel to stop using it, and move on. I am sympathetic to, and agree with, the people making the very valid complaints about installers installing into %APPDATA%, but this is a lost cause.

@stevesobol
Copy link

People, can we please think logically about the potential solutions to this problem??

@Carighan
Copy link

Well there's nothing much to think about, @stevesobol .

I think between just about every other piece of software it is easily established that what Squirrel is doing is both unintuitive and problematic.

Likewise, there's already solutions both involving work by the devs (stop installing into the user appdata folder, and use the program files folder), and one that doesn't need their cooperation but is slower to implement (stop using squirrel and convince other devs to do the same).

That's basically it. There's not much to talk about any more. And since it doesn't seem that Squirrel is changing any time soon, we also know which "solution" to use, by virtue of it being the one we're left with.

I mean to be fair, if you can write a small service a Windows user can install that detects Squirrel installers then hijacks their install process and use a symlink to make them install where they ought to but think they did everything as normal, you'd be my hero. But that's a bit very hacky.

@LukeTOBrien
Copy link

Now that Microsoft owns Github maybe they will create a new open source installer for Electron?

Stop using Squirrel, convince publishers already using Squirrel to stop using it, and move on. I am sympathetic to, and agree with, the people making the very valid complaints about installers installing into %APPDATA%, but this is a lost cause.

Perhaps give WiX Toolkit a try?

@matt40k
Copy link

matt40k commented Nov 12, 2020

Pff, who uses installers anymore, choco / winget for the win

@mimi89999
Copy link

mimi89999 commented Nov 12, 2020

I think that convincing devs to change the installer also won't be easy. It might not even be possible to discuss the installer choice with non FOSS projects. They also won't make a second installer with some other software just for us. Squirrel does offer some nice features: easier adoption/integration than writing NSIS scripts, automatic updates, etc.

If Squirrel won't solve that, the only solution I see is to write an automatic repackager for Sruirrel installers.

I will try to explain those issues to Squirrel once again.

@mimi89999
Copy link

Pff, who uses installers anymore, choco / winget for the win

Choco and winget are both just running the installer.

@matt40k
Copy link

matt40k commented Nov 12, 2020

@mimi89999 the summary is, if they want it to be used in a company, it needs machine installation. Users don't want to install or update software. You can't expect each user to install an app themselves. Microsoft tried with ClickOnce and no-one ever liked it. Not the sys admins, not the users, not the devs, no one. Its why its dead. Google Chrome understand this, its why they have a user install for home users \ "pro" users who have admin rights and a machine install for companies\schools so it just works for the end users

re chocolately - depends on the author and if they have a zip option

@mmahacek
Copy link

I still have no idea why I was tagged on this issue. Unsubscribing.

@stajs
Copy link

stajs commented Nov 12, 2020

Sheesh, what a waste of time. Squirrel solves a problem that a lot of people had. If it doesn't solve your problem, then use something else. The Squirrel devs are under no obligation to design for you. Unsubscribed.

@dizzy-egg
Copy link

Sheesh, what a waste of time. Squirrel solves a problem that a lot of people had. If it doesn't solve your problem, then use something else. The Squirrel devs are under no obligation to design for you. Unsubscribed.

It hasn't solved anything. It's shifted the problem from lazy developers onto end users and sysadmins. .

@mimi89999
Copy link

Hello,
I just started https://github.com/mimi89999/squirrel-to-nsis. It basically unpacks the Squirrel package and repacks it in a NSIS installer.

@Ragolution
Copy link

Thanks for reviving this ticket but holy hell the mass pings lmao

@animanoir
Copy link

I got lost of what´s happening here, but if this has something to do with letting people install in whatever folder/drive they want, I fully support it.

@Neustradamus
Copy link
Contributor Author

Thanks to all for your comments :)

Do not hesitate to tag people impacted by this problem too.
We are better together.

I have forgotten to say that a long time ago @RedFantom has done this:

I have published here:

We have to do it for each software.

@eeevans
Copy link

eeevans commented Nov 14, 2020

The ticket should just be closed with prejudice. Squirrel is doing exactly what it was designed and intended to do. If it’s a problem to install to app settings lock the folders. Click Once started the whole installing to that location. Squirrel just does it without a lot of poorly designed manifests and signing that was a pain when it even worked. Stop whining and spamming everyone!

@mimi89999
Copy link

We have to do it for each software.

@Neustradamus That's why I wrote https://github.com/mimi89999/squirrel-to-nsis that should be able to convert any Squirrel installer into a NSIS installer. Just pass the path to the Squirrel installer as the first parameter and the path where you want to save the resulting installer as the second parameter.

@sTiKyt
Copy link

sTiKyt commented Nov 15, 2020

Where am i? Why i was tagged? xD

@Neustradamus
Copy link
Contributor Author

@sTiKyt: All people here are linked to the Squirrel installer problems.


Recall: Do not hesitate to add impacted softwares here.


I have added Brave and Chromium/Google Chrome parts in description.

Please read the main ticket, thanks in advance.

cc: @Skavenger0, @bbondy, @luixxiul, @thesohelshaikh, @Booteille, @CtrlAltDefeat94, @alexwykoff, @bsclifton, @srirambv, @eljuno, @Jacalz, @Nitrooo, @SRyGit, @cezaraugusto, @Gelo3D, @rebron, @pcunite, @diracdeltas, @LaurenWags, @darkdh, @bradleyrichter, @bengaywins, @RiseT, @cinereous, @brnnnrsmssn, @NZ-HIPS, @KyferEz, @WolfganP, @tinkicker, @someaddons, @SalieriC, @dadagama, @th33xitus, @RottenSod, @sectoidleader, @HyugAG0d, @iBeny, @marseye, @mattmill30

@Neustradamus
Copy link
Contributor Author

cc: @Qilly, @DrakeXiang, @jfo8000, @timsatterfield, @djbreen7, @paulosborne, @malept, @ks1977, @sofianguy

@Neustradamus
Copy link
Contributor Author

Hello all,

For a matter of transparency, I have been blocked more one week by GitHub because:

  • I am the spokesperson for this big problem with the Squirrel installer “software” which does not respect Microsoft Windows rules since several years.
  • I have been created this organization and this issue

Today, I have done some tweets about this problem:

I have been unlocked after it.

Now, we can hope that the respect Microsoft Windows rules will arrive soon, we must not let go.

Thanks all for your support.

PS: Do not forget to link this issue to projects which use Squirrel (and do not respect Microsoft Windows rules).

@mimi89999
Copy link

@Neustradamus You were probably blocked for tagging users who didn't want to be tagged.

@Jacalz
Copy link

Jacalz commented Nov 25, 2020

Yeah that is probably the case. I really don’t understand why I was tagged in this thing because I probably had commented on something multiple years ago. That’s just annoying.

@Neustradamus
Copy link
Contributor Author

@mimi89999, @Jacalz: Yes, I have added all people linked to this major problem on XXXX issues.
Some people, like some Squirrel team members, have blocked me...
You can only do "Unsubscribe" at right top of this issue.

Now, I am a celebrity on Twitter: https://twitter.com/anaisbetts/status/1326459679850061827.

Some people do not understand the security problems, etc. (I will not repeat all, it is in other publications on this issue).

Who has requested some free USB keys?

@stevesobol
Copy link

@Neustradamus ugh.

"I am spamming you. You can unsubscribe."

The Squirrel developers were right to block you. What you did is scummy and abusive, and whining "I've been blocked because of my opinion of Squirrel" is dishonest. Actually, it's a flat-out lie.

The devs aren't going to change anything, despite some very valid concerns about the way the software works. This is their right, and in the end, they are the people contributing time and resources to the project. It's their decision.

Alternatives have been discussed, including talking to people who use Squirrel and requesting that they use something else instead.

I've run out of patience with you.

Here's exactly what's going to happen:

  1. You're going to grow up and act like an adult, and
  2. You are going to close this issue and stop commenting on it.

If both of those things don't happen, and I mean TODAY, I am going to start complaining to Github in an effort to GET YOUR ACCOUNT DELETED AND HAVE YOU BANNED PERMANENTLY FROM THE PLATFORM.

Understood?

@Zireael07
Copy link

This issue highlights a valid problem, but mass-tagging and then telling people to unsubscribe if they aren't interested is not the way to bring the problem to the devs attention. Or, it will bring it to the devs attention, but the opposite way of what you intended (you being blocked and/or banned instead of the devs (maybe) deciding to fix the issue)

@dizzy-egg
Copy link

Here's exactly what's going to happen:

1. You're going to grow up and act like an adult, and
2. You are going to close this issue and stop commenting on it.

If both of those things don't happen, and I mean TODAY, I am going to start complaining to Github in an effort to GET YOUR ACCOUNT DELETED AND HAVE YOU BANNED PERMANENTLY FROM THE PLATFORM.

I'm going to unsubscribe from this issue as well, but equally you have no right to tell any other Github user what they can and can't do with the platform. You're doing exactly what you're accusing the OP of doing.

@Neustradamus
Copy link
Contributor Author

Dear @stevesobol, thanks for your comment.

I confirm that I have not spammed you, I have only added people linked to this major issue on all tickets created on GitHub, there are a lot.

GitHub keeps old tags in this issue, I do not change it.
You can easily "Unsubscribe" at right top, it is a feature from GitHub.

It is not a reason to ban me and you exaggerate because the problem is real, people confirm it, it is not a fake issue which exists since several years (more than 5 years) and you can see that I am "Arctic Code Vault Contributor".

@mimi89999
Copy link

Could you please stop arguing about how bad or good Squirrel devs are and what's acceptable or not on GitHub and can we start actually considering possible solutions? I proposed https://github.com/mimi89999/squirrel-to-nsis. It still needs some work and a lot of testing. Contributions are welcome and highly appreciated. There might be other better solutions, but I think that ranting about how bad/stupid/evil/whatever Squirrel devs are won't solve anything.

@Naheulf
Copy link

Naheulf commented Jul 28, 2021

Instead of talking about spam tagging people, can we talk about the issue ?

@Naheulf
Copy link

Naheulf commented Jul 28, 2021

How I think a "normal" installer should works: (the updater part can be discussed later)

  1. ask for licence
  2. ask the user/admin for install type (multi-user, single, user, portable, other), install directory, shortcut and other options.
  3. download program components (i prefer autonomous installers, but many programs use online installer like squirrel)
  4. extract/copy program components
  5. ask for readme/changelog
  6. ask to run the program

The Squirrel goal is to install and run the program in the fastest way as possible. To achieve it they skip some steps and perform only theses ones:

  1. download program components
  2. extract/copy program components
  3. ask to run the program

We CAN'T change this default behaviour. So all we can do is thinking on a way to reach this goal including our requirements:

  1. Customise install directory (not in %localappdata%)
  2. Customise install type (all-user, portable)
  3. Skip the boring licence (that already the case :p )

For normal users (like me), with or without admin right:
I think the installer MUST show up a windows with a Customize installation button while downloading/extracting the software. This button SHOULD stay available at least 5 seconds. This mean delay the software startup if the install process is shorter than 5 seconds. Yes: introducing a delay into a program that tries to complete as quickly as possible may seem strange. However i think that any program smaller enough to fully install in less than 5 second should not use any installer at all but only use a stand-alone executable.

For enterprise admin:
I think the installer MUST check a standard custom setting done by the sysadmin. Registry, AD, ini file or anything else I don't know.

NOTES:

  • That part only concern INSTALLERs. I've no Idea on how to deal with the UPDATER part if the target location require admins rights.
  • I'm only casual dev and I don't know C++ nor C#. So I can only suggest solutions but I could not code them.

@DigitalNikki
Copy link

I'm not good enough with C++/C# to do it, but I like the idea of modifying squirrel to add these things in a way that you can also repack and replace the the existing squirrel in things that use it.

@Destroy666x
Copy link

Destroy666x commented Jan 6, 2023

I came here by accident, looking for why I can't install Atom to Program Files, which 99% of Windows apps with an installer are able to do. And after reading few topics, I'm very confused why this is the design choice of this apparently now deprecated, but unfortunately still used by Atom, installer. I respect the devs and their decision as much as I can, but let's just quote: No

For any future dev reading this and considering to create an installer or use one for their app - this is not a reasonable choice. It negatively influences:

  • security
  • automated setups
  • people who just like to keep their Windows installation clean or don't want to install to the system drive for one reason or another
    etc.

I can't find any positive about it. It's kind of like removing life rings from a ship just because someone thinks it's better for travellers that way. So if anyone considers using Squirrel as an option - once again, please, don't. Inno and different options exist. And if anyone takes/took it over - please reconsider adding this IMO mandatory feature. Thanks.

EDIT: also, nice censorship there (it was the same comment): Squirrel/Squirrel.Windows#1002

@Hrxn
Copy link

Hrxn commented Jan 6, 2023

Agreed..

But isn't even Discord using Squirrel?

@KulaGGin
Copy link

KulaGGin commented Jan 6, 2023

Agreed..

But isn't even Discord using Squirrel?

Discord has the same problem with getting installed into the %localappdata% folder. That's just straight up bad design: not offering the user to choose where to install.

And if the answer to the request to add this feature is "Oh we can't, our architecture doesn't allow it", well, the design and architecture is even worse than it was a moment ago: just straight up terrible.

@Destroy666x
Copy link

Agreed..

But isn't even Discord using Squirrel?

It is. But I didn't mind it too much as it's just a casual app. It's a much bigger trouble with apps that would be used by businesses, schools, public organizations, etc.

Including commonly used text editor/IDE. With Atom and the set up I wanted to do it makes life a lot harder. But I guess I'll just skip Atom since it's dead anyways.

@Megalomaniak
Copy link

Including commonly used text editor/IDE.

Or a certain popular git repo hosting services own git application...

@Destroy666x
Copy link

Luckily CLI git is more than just enough for me. But yea, a shame that few popular pieces of software use this framework/tool to simplify some things a bit. I hope, Zed, the new perhaps incoming Atom, won't.

@cybermerlin
Copy link

This whole issue seems incredibly stupid.

It's been a standard convention for decades to install programs to the Program Files directory and save user data to the Application Data folders. Hence their names. The argument should end there.

Arguing that it's better/simpler/less restrictive for the user to install to AppData is totally beside the point. You could argue that it's better to install everything to /tmp because it always has +777 permissions but that's a ludicrous idea, just like storing executables in a profile folder is.

If a user is too lazy, stupid, or inexperienced to know how to click a UAC prompt or to choose a custom installation folder then they have zero business installing their own software anyway.

Seriously, this would be like a Linux package manager trying to install software in /home/. It's unheard of and it's stupid.

The real solution is to stop using software installed via Squirrel. Write to the software vendors and encourage them to use a competent installer. Use Universal Extractor to extract installers and run applications directly.

Your thesis are correct only on half =)

Sometimes you need to install it into an external drive or in an isolated folder\directory (e.g. encrypted or virtual, etc).
So, I think any installer and any software should give me to get choice any accessible directory (correct for experts).

And Universal Extractor are not always can extract and not all software give a chance to run directly after extraction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests