Introducing Unified Update Platform
blogs.windows.com
blogs.windows.com
"Microsoft finally realized that the point of a computer is to run the user's applications without interruption or long boot times. Therefore, we are rolling out an update system that is transparent to the user and has no forced reboots and long wait times."
They already do it for graphics drivers and so on. Linux does it of course.
But then I guess the problem is Microsoft would need to check everything in case users started blaming Microsoft for "sending them a virus through Windows Update" when RandomDodgyApp got a bad update.
And a million different popups. The main problem I see with this is that some programs (e.g. Razer Synapse) can't be arsed to have an external process do the patching; demanding a reboot. Combine that with the Windows update reboot nag and you have hell on Earth.
Aside: you do have access to BITS[1], which is the download manager that Windows Update uses. According to an MSDN mag article I read years ago it tries to be as unobtrusive as possible (e.g. backing off if you are using your connection).
[1]: https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...
There's nothing worse than turning on a machine you've not used for a few weeks and being slammed with update notifications. Updates should be transparent and automatic by default in my opinion as regular users have zero interest in maintenance updates.
Something like that for iOS would be nice too. Less intrusive update reminders and not having to go through all of the nagging for apple services everytime Apple pushes a security patch!
I remember reading in the Server 2003 days how "Hot Patching" was going to be the answer to this. It was so limited (not to mention a possible attack vector) that it basically didn't exist as a viable feature. The only patches that could be applied in this manner had to be patching non-interrelated components, which amounts to almost nothing in the Windows world and since they're now doing patches as a large roll-up component, I'd imagine this is all but dead[1].
[0] https://support.microsoft.com/en-us/kb/897341 and https://blogs.msdn.microsoft.com/freik/2006/03/07/what-does-...
[1] Although I was pleased to discover when I installed the last cumulative update for Windows Server 2016 that -- to my shock -- it did not ask me to reboot the server. It was pretty freshly loaded, though, and had almost no roles or features installed so part of me wonders if there was very little to patch in the first place.
Visual Studio is pretty ugly in a lot of ways, though. Writing extensions for Visual Studio exposes the ugly underbelly of the beast, which is basically WPF window dressing laid on top of a whole pile of COM Interop (not all that unusual for an application of its scope and history). There's a lot of legacy there. Generally speaking, I do avoid Visual Studio for a lot of things, favoring everything from VS Code to Notepad++. If I spend too much time in Code, or Sublime, and stay out of Visual Studio, returning to it really hurts. At the same time, for all of its complexity (and probably "because of"), I do almost all of my C# development in it and a good chunk of my C++ development there (even more so after Update 2).
It's not the rebooting that takes time, it's the "Configuring updates for your Computer" stuff. It'll sit there on shutdown and/or startup like this for... who knows how long. There's no way to know if it's making progress, so you're left trying to guess if the update process has hung. (And this is a far too common occurrence)
Beyond all the new "expected" (yet still annoying) Windows 10 telemetry, feedback, etc server connections, you get to see stuff that will piss you off - like Windows Explorer connecting to Microsoft's servers, or Web Search and Cortana connecting to its servers, even though I disabled both of them (first thing I do when installing Windows 10).
Oh, and all of that with all the options in the Privacy settings being disabled. I like Windows 10 as an OS, but it's ridiculous how much tracking and data sharing Microsoft does behind the scenes. It also makes using your phone as mobile data hotspot useless, because it's going to use a ton of your data quickly.
If I couldn't block most of this stuff I wouldn't touch Windows 10.
Windows historically has been heavily used in botnets, in part because people do not apply updates to known (and fixed) vulnerabilities. Microsoft removing the "fuck off" button was a response to that, and I'd assert it's made the Internet in general safer. Yet it's also unquestionably had the side-effect of making Windows dramatically less pleasant to use.
What's the best solution here? iOS just reboots in the middle of the night, which would likely work well for Windows tablets, but might have issues with traditional desktops, since Windows doesn't have the freedom iOS does to just shut down apps. Linux leaves you to fend for yourself, which I think has mostly worked okay thus far because Linux users tend to be more technically sophisticated. macOS is a bit in-between, attempting to do the midnight reboot dance, but aborting if docs are open.
However, regular reboots to install updates is only fixing the symptoms instead of the underlying problem. The proper solution is to put security first when writing software. The entire design needs to be developed for security from the very beginning, not added on as a "feature" afterwords.
Additionally, it would also be a good idea to design software components to have minimal interdependence (loose coupling). This should allows not only easier testing, but also easier replacement. Fewer reboots are needed with when you can replace components individually. (it can also limit restarts to only one subsystem)
macOS: not the most popular consumer operating system
The right answer, in my opinion, is to force reboots by default but to allow the option to disable it.
That's likely a pipe dream, as apps do a bunch of complicated things - but it seems like a merger of security and UX. I'm not saying it's possible.. just that it seems like the best compromise.
"Reboot to apply important security updates and to get rid of this message"
Have an overlay of red letters that doesn't impede you to do anything but is kind of an eye sore. Maybe a window that can be moved but can't be hidden. People will reboot to remove that message (but never when they're in the middle of something).
It the moment it's the other way around, in your face when you don't want it and then disappears altogether.
I don't know about other people, but the only time I update is when its mandatory or I magically managed to close out all my work and have no state I care about. I suspect a lot of OS X users are on out of date builds of the current latest version. For the big feature updates they are pretty good about harassing users and do nice things like download the new OS without asking.
Last week I was playing Shadow of Mordor when all of a sudden the game crashed with an error along the lines of "Graphics device was removed or disconnected". The reason for it was Windows 10 had decided to update while I was gaming and a new GPU driver was installed as part of the update.
Suffice it to say I finally cracked and looked up how to set up the group policy settings to ask me before updating. Luckily I'm using Windows 10 Pro and have this option.
I know a lot people used to give Windows Update a lot of flak in the pre-Windows 10 days, but I never really thought it was a problem (I always had it set to ask when to install updates) but Windows 10's update settings are downright user hostile.
LMAO
No seriously. This could be straight out of a comedy piece.
I've had good results with this guide[0], which describes a lot of the same steps as the guide that mintplant already linked to, plus a few more. So far, it seems that no Windows updates have undone the changes I made by following the guide. I'm pretty sure I went through the guide before receiving the anniversary update, too.
In addition to no longer waking from sleep, my computer also no longer forces me to restart while it's awake and in use.
[0] http://superuser.com/questions/973009/conclusively-stop-wake...
You know what really turns my hair gray about this, I mean aside from losing the state of all my open apps, is that when I actually do want to shutdown a Windows computer it almost always seems to not shutdown because some open program is blocking shutdown with a dialogue box asking if I want to save my work or if I really want to quit.
"Breakpoint exception [hexadecimal error code] ... [something or other]"
dialog box that displays for less than a second. I don't think it shows up in the Event Viewer logs, so if I want to search for the error code online and remedy the problem, I'll have to be quick with a handheld camera.
It could be 3rd party software erroring out, so I guess I won't blame Microsoft for this one until I have more info.
http://winaero.com/blog/how-to-permanently-stop-windows-10-r...
https://superuser.com/questions/973009/conclusively-stop-wak...
Note that the group profile to disable reboots does not work; Win10 completely ignores it. I agree that this should be supported in the UI for sophisticated users. These sorts of frankly insane steps should not be necessary.
Set "No auto-restart with logged on users for scheduled automatic updates installations".
I also set "Allow Automatic Update immediate installation".
What good is a OS that can't be trusted to be available when you need it?
Now I don't get any Windows updates, but the possibility of joining a botnet is preferable to the certainty that Windows will ruin my work.
I'm glad that Microsoft is making the internet a safer place.
So you relinquished partial control of our computers. GOOD JOB. Maybe you shouldn't have assigned that right to yourself in the first place. Maybe just fuck off and let us decide when and if we're going to install these things. Like, how it used to work.
I would be running linux right now if I could get it to boot.
On Windows, an update is a long download, then lots of reboots where the computer is busy doing who knows what.
What's even worse is that "update and shut down" can lead to a 10-20 minute wait the next time I turn on my computer.
That's one of the most user hostile things I've ever seen in a software product.
Ironically, after the Anniversary update we could at least set the working hours but it's still limited to a 12 hour block. Is it really too much to ask to only allow updates/reboots from 1:00am to 6:00am?!?
I'd like to think if any of this happened to the CEO of Microsoft, this crap would get fixed right away.
Another peer of mine lost his networking stack functionality when his update pushed through.
The update/telemetry/user friendliness situation has not been fantastic, even for some of us internal engs.
(Pardon me if I got the hostname or start of service date wrong! It's been a while...)
Execution will be important here and IMHO, and it has been done pretty poorly with the past versions of Windows Update/WSUS -- there's a lot of room for improvement. A lot of the benefit will center around how Differential Update is performed. Is this purely at the file level or are they actually delivering the differences in the files (similar to how I read Chrome updates were delivered). The latter would likely involve a lot more processing on the MS/WSUS side, but could dramatically lower bandwidth requirements.
The next piece centers around the WSUS component itself. I found it interesting that they've specifically used the word "Unified". Could there be a future where I, as an ISV, can publish an update/update repository for my application and have patches to my software delivered via update services? It always puzzled me that while I can create an MSI/MSP file for deployment, I could not similarly produce an MSU file for updating. Third-party software has eclipsed the core OS software as far as vulnerability threats and patching it in an enterprise is a nightmare. Most large Windows enterprises use System Center Configuration Manager which is best described as a swiss-army knife for software delivery and at its worst, described as a bunch of unrelated tools that are used to deploy software with different rules depending on what the software is. Standardizing patch delivery, or even simply allowing a third-party to install a patch via WSUS would have made patching browser plug-ins, Adobe Reader and other common software (some of which provide more attack vectors than features) a lot less painful. We maintained a 99.5% patch target with varying range requirements and while we nearly always hit those targets with OS patches, we almost never hit them with these third-party applications. They didn't mention this as a specific feature, and the naming could simply be the marketing department picking a new buzz-word, but I'm hoping this is a future path they're planning on taking.
Personally, I'd like to see updating that's as easy on Windows as it is on my openSuse or Ubunto hosts. Repositories are used to manage the various vendors, updates are packaged the same, standardized and "It Just Works" for the most part.
They sorta did it for Store/UWP apps, but Win32 applications aren't going anywhere anytime soon (I hope!).
And the Office/Silverlight mix always drove me crazy - it's something you have to separately turn on (and depending on the OS version/kind, you have to click through an additional EULA to activate), so they already had the plumbing in place to accept non-OS update complete with an EULA page and "activation" of that feature. I know there are a lot of issues that have to be addressed to successfully implement this. There are those legal ones -- like the ones they encountered that caused them to differentiate "Windows Update" and "Microsoft Update", as well as adding another attack vector (now the drive-by installs only need to install a new repository and they can deploy malware through updates)[1], as well as probably tens or so that I am not clever enough to think of.
[0] Though a quick search for just about anything in the WinStore indicates that Microsoft's standards are really low -- the spam disguised as software in the is a big problem.
[1] There's ways around this, though, with existing features already built into Windows. Using a model similar to Intellicode with an internet connection required to verify trust and CRL (you need it to download the update, any way, after all), backed up by a bit more hands-on verification on Microsoft's side (along with a higher fee to pay for that) would cover third-party repositories and for "Internal Enterprise" MSUs -- built by IT staff and deployed via SCCM -- the requirements could be "accept only if it originates from the enterprise CA that the domain trusts" (not other, external, CAs).
It's the best of both worlds: A unified repository for OS updates and sandboxed third-party software that is guaranteed not to fuck up your system, while still being able to install from other sources with their own update mechanisms.
Now if only Apple worked on its UI and improved discoverability etc.