Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was on a internal Slack call with team the other day, I ended up having to restart to Windows to do a screenshare and switch to Skype.

I ended up having to delay my working day by about 45 minutes while Windows decided to do a mandatory update without any granularity of choice on when is convenient for me. That's what is frustrating. I ended up being unproductive for a whole hour because Windows forced an update on me.

Windows definitely have to make it better as Troy suggests. The frequency is also costly.



The article points out that you can set hours when Windows will update.


This still isnt always useful. I work in an office that creates and runs CFD software. It often takes days, or weeks to run and the recent windows "feature" of rebooting when it wants to update with no way to shut it off has killed so many peoples work in progress. Its insane there is no ability to only update manually.


The pro version lets you update manually; it's a setting and doesn't require you turn off services (I know because that's what I do).


Which is actually why MS sucks so much: they make you pay for the privilege of choosing when your computer will restart itself.


If your CFD software isn't saving at least the last converged timestep in order to restart the calculation if there's an unplanned interrupt maybe you should implement such a feature! It's been a lifesaver for me many times.


That's right. Blame the victim.


Indeed, the blame clearly lies with Microsoft.

One of the reasons I choose a PC over a Mac is because I want to decide things for myself. Microsoft's updates seem very Appleish to me.

All they need is large text that says something like, "You are more likely to get viruses, malware, randomware, etc if you uncheck this setting." Heck, make them confirm the choice two or three times. Some people want to risk it, some people need to risk it. Let them, it's their machine and their data.


I'm not blaming the victim, I'm offering helpful input as they are developing a CFD product. As someone who sometimes is asked to review purchases/license extensions of CFD codes, the ability to restart a suddenly interrupted calculation with minimum data loss is a must.


The victim is to blame. Microsoft's behaviors are well-known, so victims are to blame if they continue to use Microsoft platforms. CFD computation does not in any way require a Microsoft OS.


"Your shop runs SolidWorks? Don't worry! There's nothing intrinsic to CAD that requires a Microsoft OS. Switch to Linux!"

Implementations actually matter. Hordes of us would jump ship if we could, but convincing vendors to port flagship software, or even do something as seemingly straightforward as a license migration is never easy.


How many of these customers have actually bitched out their vendors for not porting their software to non-MS OSes? None?

Sorry, I have no sympathy. Look for alternatives, or roll your own. Or find a new line of business altogether. Whining about your OS vendor abusing you is getting really, really old now. Like an abusive boyfriend, they're not going to change, so it's up to you to make a change.


Yeah we have some way of saving state but its unreliable as of right now unfortunately. Definitely gunna use this an opportunity to push it back into priority though thanks!


> Its insane there is no ability to only update manually.

There is.


How? Ive tried group policies and the like and nothing seems to stick.


You can disable the update service. It works since at least Windows 98 and takes maybe 5 clicks.


I think you can't after the anniversary update


Maybe there is another Windows versions difference I am not aware of.

In my configuration this is still working. I went to services.msc and searched for "Windows Update". I stopped the service, went to its preferences and selected "Disabled" as startup type.


Pro 10 user here. Windows started wanting to update last week, but isn't because my group policy is set to notify for download and auto install, so all i had for the duration of the conference i was at was a notification.

It works fine.


It works in Pro, but not in Home and I think not in Enterprise either.


An officially supported channel that will let you select important security updates to install if and when you want to and not push anything else? Without relying on enterprise management features and the like? That would be interesting news to a lot of people, I'm sure, so please share what you know.


Disable updates then you can use http://www.windowsupdatesdownloader.com/


What if Microsoft instead fixed the need to restart for almost every update?


For that matter, why are we seeing so many updates? It seems 1/4 of my CPU cycles are used to keep the system up to date.

ChromeOS updates the system once every 6 weeks and still has a far more secure system.


ChromeOS also does a lot less.


MacOS handles this perfectly. It clearly notifies you when an update will be installed if you restart.


It also gives you the option of re-trying the update "tonight" which takes up WAY too much of my cognitive load. "Tonight" doesn't appear to be configurable, or even well-defined, although an obscure knowledge-base article tells me it's between "2:00 and 5:00 a.m", which is nothing like my expectation of what "tonight" means. Does that run if my laptop is sleeping? What about if it needs to reboot? I really should know the answers to these questions ...


Windows does sometimes wake up a laptop to apply updates and put it back to sleep afterwards.

This can be rather dangerous if your laptop is stuck in a backpack with no airflow on a hot day.


It's not only updates that do that. All the HP laptops I've used wake up from sleep in my bag while I'm moving.

The laptop would be hot enough to toast bread when I pull it out.


Pretty sure that "tonight" just dismisses the prompt until "tonight" at which point you'll see it again, it doesn't irrevocably schedule the update for "tonight."


I think you're probably right which, given that "tonight" means between 02:00 and 05:00, explains why I never get around to applying those updates.


Yeah, the important one it offers is "Not Now". If you tell it "Not Now", it will not install that update, period. Windows 10, by default, will install those updates automatically and pick a random time or immediately reboot.

If I'm out of town for 2 weeks, I cannot have my Windows 10 machine reboot, it runs the software for my security cameras and that can't start until I log back in. Thankfully, I set up Windows Update to not install updates automatically(Win10 Pro) way back when it came out and it has continued to stick. Major updates are a constant worry that they will finally break this forever when it shouldn't even be a concern in the first place.


Windows also tells you it will perform an update on restart. It says "Update and restart" rather than just restart.


But it doesn't have a "restart and defer update" option. If you need to restart for some other reason, you're forced to take the update.


Holding shift while opening the power menu and clicking Restart used to do this, but admittedly, I haven't tried it in a while.


I don't know about Win 10 but I get around that on Win 7 by doing "shutdown /r /t 0" for reboot and "shutdown /s /t 0" for a shutdown.


This is why I like Linux - you don't need to learn the commandline just for basic OS functionality. Windows really needs to get a decent GUI already.

^_^


In cmd or PowerShell:

shutdown /r /t 0

AFAIK, this has always avoided updates.


I haven't used Windows since 7, but then it just did whatever it could (perhaps only download) until shutdown/restart. It might've asked if I wanted to, but I just said no, and then it did it's thing whenever I was shutting down anyway.

Is it not still like that? MacOS seems worse to me, since restarting when an update exists isn't sufficient: you have to remember to go back to the update and click 'update & restart'...

Linux handles this best though, by a long shot.


> Is it not still like that? MacOS seems worse to me, since restarting when an update exists isn't sufficient: you have to remember to go back to the update and click 'update & restart'...

IME OSX is way better, the shutdown update process is much shorter than on Windows (where it is frustratingly long) and not all updates require rebooting.


I only got around to updating my personal MBP to Sierra today. A major OS version upgrade took less time and messed with my stuff less than some Win10 updates have. :-/


Promised when XP came out, iirc.


The article fails to mention that rebooting is interpreted as a free "you can update my computer now" card.


The article also fails to mention that shutting down your computer and turning it back on will not install updates (by default). So if you regularly turn off your computer instead of rebooting it, the updates never get installed.

Then one day windows realizes, holy smokes, we have to install those updates now! And proceeds to restart your computer regardless of your update preferences, typically right in the middle of your business day.

Changing the updates to install on shutdown is slightly more challenging than disabling updates (it is hidden in an option about power settings on boot). So guess what people do?


I run two OS's on my computer. Sometimes the clock gets out of wack. Guess which OS decided to update during working hours because the clock got it wrong.


Have you had the issue where Windows updates fuck around with your EFI partition and break your bootloader? I've gone through that one a few times


I can do one better. Every time I boot into windows (7) it sees my md raid1 drives with the metadata at the back (long story - I was trying to boot off it and didn't do a very good job), sees a valid GPT table but that the disk length is "too small" by a little bit...and "fixes" it without asking. So every time I boot back into linux I have to repair my partition table. It's gotten to the point that any time I consider updating or doing anything major to my windows install, step 1 is to physically unplug all my other drives.


Yep. I now run a different bootloader that plays nice with OSX.


Still, the default settings can be annoying.


It's an interesting problem. Live updates without requiring a restart is going to be a complex task, how do you reload a library in use by a program without crashing it? Especially when Windows has a decade+ of software compatibility.

Their current solution is scheduling updates to periods when the computer is not in use. I think recently they added an option for you to define a set of hours where updates take place.

But the problem with this is that people don't treat Windows PCs like always-on devices like they treat mobile phones and tablets. So in those night hours the computer is off forcing daytime updates.


Linux (and other Unixes) have been doing live updates to the entire system since .. basically forever; Except for the kernel, there is very rarely a need to restart. And they let you restart the kernel on your own schedule. Windows Kernel developers chose a different set of file system semantics, and that is what makes it hard on Windows.

In fact, if you can't afford the restart even when you schedule it, there's ksplice and a variety of similar solutions that can switch to a new kernel without a restart.

I did have firefox behave weirdly once after an upgrade until I restarted it, around v15 or so -- but I believe even that is no longer an issue; at the very least, I haven't had any issue with upgrading firefox while using it, and restarting it a week later.


That's actually not entirely true. Updates to a shared lib require restarting all running programs that use that lib. Not a full reboot, but probably a service restart or you're not protected by the update.


I think rebooting the entire system to make sure all apps and libraries are reloaded is fine (I do that on linux servers at times if I made a big update and can spare the downtime). Making a user-friendly interface to only restart apps that need restarting sounds complicated.

But whatever windows does is way worse, I dread seeing the "please wait while Windows is configuring your updates" screen. I have an SSD, rebooting Windows takes less than 30 seconds, it's a non issue. But those update installs can take a long time and your computer is completely unusable while that happens.

It's also frustrating when that happens while shutting down because I normally turn off my computer's power outlet when I'm done (it switches off the rest of my equipment) so I have to wait patiently for Windows to allow my computer to shutdown before I can do that.


Skype crashes quite regularly so I think we've a lot of ground to cover before "reloading software that never stops" is a problem.


Only since Microsoft bought them out. Skype used to be a fantastic piece of reliable telephony software. Now it's a fantastic piece of NSA-backdoored garbage loaded with ads.


> It's an interesting problem. Live updates without requiring a restart is going to be a complex task, how do you reload a library in use by a program without crashing it?

Well, how do Linux and other unices do that?


They don't, the program keeps using the old library until it's restarted. Some Linux distributions restart daemons when they or their dependent libraries are updated, but that can't be done for desktop software. Firefox sometimes notices it's been updated and pops up a warning with a "Restart Firefox" button (which keeps the session state), though AFAIK it's only for updates to Firefox itself, not for any of the libraries it might have loaded.

If you never restart a Linux desktop (or at least log out), you will be running outdated libraries, even if you run updates in the background.

(The best solution would be what Android does, where every program is supposed to know how to checkpoint itself, and they are forcefully restarted on a upgrade, transparently to the user. But even there, updates to system libraries still require a full reboot.)


I believe this is solved by NixOS, by the way.


software: can upgrade binaries and libraries without affecting already running programs

services: they are specifically designed to be updated and restarted

kernel: https://en.wikipedia.org/wiki/Ksplice


> services: they are specifically designed to be updated and restarted

I write plenty of daemons (you call them "services"). What exactly do I write specifically for them to be able to continue to run when a library is upgraded?


Sorry, I meant things like dependency management among services.

I don't think systemd supports what you are asking but it shouldn't be too hard to write a service that restarts other services if their shared libraries change?


https://github.com/liske/needrestart is quite useful. It even has heuristics for updates to Python code, Java classes...


Nothing. They just keep using the old version of the lib and thus potentially vulnerable.


Yes, but they continue to run while the library is being updated. That's the point. They can get restarted once the update process finishes, which takes a lot less time than be shut down, wait for update, and be started again.

From what I know, Windows doesn't allow a library to be replaced until it's not used by anything, which is more intrusive and is IMO the root cause (though indirect) why people hate updating Windows.


    gcc --static




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: