nextcloud / desktop

💻 Desktop sync client for Nextcloud
https://nextcloud.com/install/#install-clients
GNU General Public License v2.0
2.98k stars 784 forks source link

Do not require restarting the PC after installing with MSI installer #3551

Closed allexzander closed 2 years ago

allexzander commented 3 years ago

How to use GitHub

Feature description

Rebooting PC after installing the Nextcloud desktop client is really overkill.

MSI can be scripted to kill and run a process without restarting. Since we need to restart only just to allow Explorer.exe to reload and initialize context menus and overlay icons, we can simply kill it and run again it when the shell extension installation is complete.

markusdd commented 1 year ago

are you seriously comparing a free product made by 50 employees and many volunteers to a paid product coded by a corporation with 165000 employees and an annual revenue of $400 billion?

Apple/Google/Dropbox have the resources to test all the quirks that can happen if you don't restart explorer.exe

btw, if you click on "yes, you can reboot", then you can't complain "the computer did exactly was it was told"

See, and this answer is why we can't have nice things.

As if Google Drive is maintained by 165k people. I would not be surprised if the core team for Google Drive is smaller than nextclouds.

Also: Nextcloud is a paid appllication when used by corps and I personally had a setup under my fingers where we paid for 200+ seats.

The issue is that nextcloud behaves as it wants to take on the whole world, but does not get the basics right. See Nextcloud Talk, which is an attempt to go at Teams, Zooms etc. . You wanna know how many people work on that?

Stop working on new features, but concentrate on what the app is really needed for. And for 95% of people this is well synced, convenient cloud storage. With a client that does not behave like WIndows 95 that needed a reboot when you plugged in a USB device.

I am seriously cheering for NC and I recommended this project to everyone and have always suggested to pay for support or donate to move it forward.

But if the answer to critical feedback like this is nothing but excuses, then I cannot help it. I contribute to open source where I can, but I am a hardware dev. I cannot help with codebases like this. The only thing I can do is donate, spread the word and give feedback. If the latter is not wanted, ok fine. But the the EU will once again remain without critical stuff like this and we depend on the US and the Chinese.

nroach44 commented 1 year ago

To bring this back on-topic (albeit on a bug that has been fixed), the issues that I see with updates on the Windows agents are

At this point I'd make the argument that while MSI is nice for integration from the sysadmin's perspective, but it really seems to be forcing undesirable behaviours.

A workaround may be to schedule the MSI install (through task scheduler?) when no users are logged in or before shutdown. This would require less work than swapping out the installer entirely, but would obviously be a stop-gap.

@allexzander how fixable are some of these issues? I'm not so phased about them myself because I'm technical and used to them, but I know non-technical people who are driven up the wall by these behaviours.

captainwasabi commented 1 year ago

So I install and refuse the reboot and have NEVER had a problem and it may be days before I actually reboot. (potentially until M$ Update forces it in the middle of the night then tries to pretend it didn't)

The part about the installer stealing focus and unintentionally allowing a reboot is a problem that a million other apps have (I'm typing along and thunderbird pops up a notification, all my typing after it popped up is gone to the ether.) This happens all the time. Is it annoying, yes. If the installer would make not allowing the reboot be the default that would be great. Changing the message at the beginning of the install to EMPHASIZE to NOT work on anything else while the install is in progress would be 100% acceptable (This is what I do anyway, this is what everyone should always do with ANY installer or any other program that escalates privs. While the privs are escalated it can watch what you are doing).

platima commented 1 year ago

You can also craft most exe installers to be 'friendly' with an MSI wrapper.

At my company we sometimes need to mass-deploy exe-based installers, so use

Otherwise if not going down the MSI route, which is mostly for Group Policy, you could support /norestart /noui /silent arguments, with 'silent' being 'do not ask questions' and 'noui' just meaning non-graphical so it can run headless.

This is what I normally use https://www.exemsi.com/download/ but it is a bit of a pain. The best thing is when vendors release both EXE and MSI installers, which many things like WiX and VSI support from what I recall.

Cheers

------ Original Message ------ From "nroach44" @.> To "nextcloud/desktop" @.> Cc "platima" @.>; "Comment" @.> Date 15/06/2023 10:40:35 PM Subject Re: [nextcloud/desktop] Do not require restarting the PC after installing with MSI installer (#3551)

To bring this back on-topic (albeit on a bug that has been fixed), the issues that I see with updates on the Windows agents are

Updates are completely interactive. Can they be done in the background somehow? Can some kind of A/B system (see Chrome, Android) be set-up? The Shell extension isn't (cannot be?) unloaded prior to removing the file from disk. Can it be? If not, can we upgrade the file and just leave it until explorer restarts? MSI (?) determines that the only way to handle the shell extension issue is a reboot. The reboot prompt may steal focus during typing and cause an unintended action to occur. Probably MSI again. When the update offers to restart explorer, it leaves it closed, and / or still requires a restart regardless. Can this be smarter, or can it only require a log out and back in? I'm aware that this is probably handled by MSI at the moment. At this point I'd make the argument that while MSI is nice for integration from the sysadmin's perspective, but it really seems to be forcing undesirable behaviours.

A workaround may be to schedule the MSI install (through task scheduler?) when no users are logged in or before shutdown. This would require less work than swapping out the installer entirely, but would obviously be a stop-gap.

@allexzander https://github.com/allexzander how fixable are some of these issues? I'm not so phased about them myself because I'm technical and used to them, but I know non-technical people who are driven up the wall by these behaviours.

— Reply to this email directly, view it on GitHub https://github.com/nextcloud/desktop/issues/3551#issuecomment-1593198005, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIYAQBFX646DQAIES6GMFDXLMNGHANCNFSM5AM2LSLA. You are receiving this because you commented.Message ID: @.***>

ChrisMagnuson commented 3 weeks ago

I have recently started installing the windows client on our computers at the office to migrate from using older style file shares but having each of our user's have to reboot each time there is an update is not good which has so far been the case with each update.

Maybe this isn't always the case with every update, will have to see over time but this is really rough, prompting for the update isn't great but I can give that a pass as other applications do that as well but requiring a reboot after each update is a really bad workflow.

captainwasabi commented 3 weeks ago

@ChrisMagnuson I ALWAYS say no. The reboot, afaik, is just to refresh the icon overlays because the MIGHT need it. I have never had a problem.

kleajmp commented 3 weeks ago

@ChrisMagnuson & @captainwasabi Indeed the demanded restart was never necessary for me ether, the developers should leave that question out. Sometimes the updater has a problem closing "explorer.exe" but in that case I have to close it manually with a taskmanager or the update just doesn't go trough. Then I would see no need for a restart after

SamSirry commented 3 weeks ago

the developers should leave that question out.

Please feel free to open a new issue for this, so that your request can be tracked.

My personal opinion is that giving the user the option to decide is OK for now. The setup asks for rebooting because hot-replacing a library that's being used by Explorer is not possible. Ignoring the question might work without issues. Also logging out/in may work in most situations, but rebooting produces successful results 100% of the time. (For a free popular product, providing support could be overwhelming, hence, it's better to ask to reboot).

q-wertz commented 3 weeks ago

@SamSirry I don't know much about the Windows process, but there are two "restarts" that are asked for during the upgrade:

  1. Restarting explorer (which I always confirm)
  2. Restarting PC

Isn't 1. enough as in my understanding this "fixes"

The setup asks for rebooting because hot-replacing a library that's being used by Explorer is not possible.

captainwasabi commented 3 weeks ago

@kleajmp Basically the question and alerts are there so that if you DO have a problem when you upgrade you do remember that a reboot is going to fix it, rather than calling tech support. Yes yes, 90% of people are just gonna call IT anyway, and IT has an 80's era phone answering machine that just says "Have you tried turning it off and on again?" over and over and over again.

This whole issue started because it WASN'T asking to reboot, It was just rebooting. That problem is solved in a 100% satisfactory way. The rest of this I just nonsense. You can always open an issue and submit a PR and see if it flies.

Kraligor commented 6 days ago

@captainwasabi Satisfactory, yes. 100%, no. For my personal taste, it's still too intrusive. Nobody needs a reboot--yes/no prompt. Just give me a pop-up telling me "Please reboot Windows at the earliest convenience.--OK". I don't want an app to reboot my computer at all. 90+% of cases will be users who have other applications open and need to close them before restarting, making a "convenient" yes/no prompt the exact opposite. They might accidentally click Yes and lose data (or just hit Enter--the focus is on Yes by default if memory serves), at a minimum they will feel pressured to do a restart that would be unneccessary in most cases.

ChrisMagnuson commented 5 days ago

This is exactly how Microsoft power toys does it and it is much much better.

They also have extensions to Windows file explorer that require a reboot for them to be fully refreshed and so after an update, they say reboot at your earliest convenience for all changes to take affect as a toast notification instead of forcing them to acknowledge anything.

On Sat, Sep 14, 2024 at 4:41 AM Kraligor @.***> wrote:

@captainwasabi https://github.com/captainwasabi Satisfactory, yes. 100%, no. For my personal taste, it's still too intrusive. Nobody needs a reboot--yes/no prompt. Just give me a pop-up telling me "Please reboot Windows at the earliest convenience.--OK". I don't want an app to reboot my computer at all. 90+% of cases will be users who have other applications open and need to close them before restarting, making a "convenient" yes/no prompt the exact opposite. They might accidentally click Yes and lose data (or just hit Enter--the focus is on Yes by default if memory serves), at a minimum they will feel pressured to do a restart that would be unneccessary in most cases.

— Reply to this email directly, view it on GitHub https://github.com/nextcloud/desktop/issues/3551#issuecomment-2350915464, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARMCRTXQD6QTD2FMEP4H43ZWPZDPAVCNFSM6AAAAABNGMEZH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJQHEYTKNBWGQ . You are receiving this because you were mentioned.Message ID: @.***>

Poikilos commented 5 days ago

I suggest kindly upvote #5251 since MSI still says it must reboot always though it has a confirmation now.