
How to stop worrying and defeat Windows Update?

The speed of Internet access was such that you couldn’t get out of control, so at first, add-ons and new technologies only for the Windows operating system itself came to user computers through the Windows Update website. Then security patches for other applications began to be delivered. The more updates offered, the more files needed to be downloaded.

All versions of Windows up to and including Windows 8 allowed you to choose which updates will be installed on this computer.

In the current version of Windows 10 there is no choice - the user can refuse updates to other Microsoft products except the operating system, postpone updates for several days and ask the system not to install updates without his knowledge. But even updating just the operating system these days is far from a pound of raisins.

The system is updated literally all the time. Every day, new signatures for the built-in antivirus, updates of Windows components, and whole new versions, such as the Windows 10 Anniversary Update, are released. On the one hand, the functionality of updating Windows, transparent to the user, by definition should be convenient if this process makes life easier for the user, and not distracting him. On the other hand, there are users who are very unhappy with Windows Update. Look at popular searches in the search engine.

Some fundamentally do not like the fact that the system constantly does something without their knowledge, but most users experience discomfort for much more prosaic reasons - downloading and installing updates consumes computer traffic and resources. On a PC, as a rule, this happens when the computer is not in use, and users find out about the next update when they hear the noise of the hard drive or fan of the abandoned computer, or when they see a seemingly unprovoked offer to restart.
The Windows service mechanism, which worked during system downtime, appeared in Windows 8. It controls the frequency of launching most tasks from the scheduler, such as collecting various statistics, sending telemetry, defragmentation, anti-virus monitoring sessions, etc.
How about a Mac?
The Windows 10 virtual machine on a Mac “lives” somewhat differently, and the Windows update script in it is different from the usual PC scenario. The main difference is that it does not work exclusively.
Therefore, two unpleasant scenarios often arise:
1) While the virtual machine is running in the background, the user, as usual, works with the main system or another virtual machine. The problem is that Windows in the first virtual machine does not know that the computer is used for other tasks, and starts to download and install updates, as well as launch other tasks that must be performed during downtime.
2) The virtual machine is launched for the first time after a long break. And first of all, she begins to search the Internet for operating system updates and run missed tasks from the task scheduler. The user is puzzled: he simply launched Windows to decompose the “Scarf” from the old memory or to walk through the minefield, and the system is shamelessly slowing down!

The main problem is that the Windows virtual machine running in the background considers that there is no one behind the computer, and takes too much on itself - it starts installing updates, defragmenting disks, etc. This creates a serious performance problem, increasing the load on disk and network - especially if there are several virtual machines. And all because Windows Update downloads hundreds of megabytes from the Internet every month, and every day also downloads some updates, antiviruses for programs. Computer performance drops, it suddenly begins to make noise, heat up and quickly consume battery resources. Negative user experience, as they say, is inevitable.
I must say that in a corporate environment where updating and maintenance of computer systems is put on stream, these problems are solved more easily. If your company uses, for example, Windows 10 Enterprise and Windows Server Update Services, then even in Windows 10 you can configure all scheduled update, maintenance and reboot operations. But not all of our users work in corporate networks.
What have we done?
Having studied the problem, we made the inevitable conclusion - the virtual machine must be taught to correctly understand the state of the host computer (host). We also decided to implement the traditional mechanism for starting scheduled maintenance procedures, but without solving the main problem it would be a half measure.
Therefore, the main thing we did was to teach our Parallels Desktop system to transfer downtime from the host to the virtual machine. And if you enter keyboard, mouse, etc. on a Mac, then the Windows virtual machine learns about it and does not go into an idle state.
The easiest way would be to simulate input from devices inside a virtual machine - so evaluate that we have chosen a less invasive, documented method - SetThreadExecutionState (ES_DISPLAY_REQUIRED). The function resets the display idle timer, so if you ever write a video player for Windows, this call will come in handy for you.
Of course, we did not forget about the option of managing the updating and maintenance of Windows on a schedule. Since no one on the market has yet implemented the correct way to turn off automatic updates to Windows 10, we did it ourselves. Parallels Desktop temporarily disables the service mechanism for assigned Update Center tasks. We supplemented the settings interface of the virtual machine with Windows 10 with the “Maintenance” tab, which allows you to set a schedule for updating and maintaining Windows. Each virtual machine can be configured individually. Thus, our functionality temporarily shuts down the maintenance and tasks of updating Windows, the Windows Store program, Microsoft Office, the built-in antivirus, and starts them only at the time that is assigned by the user in the virtual machine settings.
You can schedule service periods at night or on weekends. This is a more convenient solution than the version implemented in Windows 10. In our version, all Windows maintenance tasks - updates, anti-virus checks, defragmentation, telemetry collection, etc. - are performed in one session, in a fairly short period of time. Tasks are fulfilled, the computer restarts, if necessary, and everything is ready - the virtual machine is updated and will not interfere with your work.
Here you can recall that these problems have already been solved in corporate networks, which means that IT administrators of enterprises seem to have no need for our functionality. In fact, any complex task of administering a system can and should have more than one good solution, and since we have included our functionality in Parallels Desktop, this gives administrators the opportunity to solve this problem in another way - through the mass implementation of Parallels Desktop with virtual machines, pre-configured to optimize system upgrades and maintenance.
Or maybe turn it off completely?
There are users - there are quite a lot of them, especially among non-professional users - who would not mind permanently disabling Windows 10 updates, leaving only the possibility of updating the antivirus. Frankly, we are against.

Outsider tips
The most important thing about the new functionality of Parallels Desktop 12 for Mac that we have implemented in terms of updating Windows is the ability to personalize it. It is important for us that users know about it and can enable it. By default, we do not run it, because such functionality is not in the Windows standard. In addition, if we turn it on by default, we will have to offer users a certain non-alternative mode of operation. It seems to us that this is wrong.
Thus, at the moment, users who need to optimize the updating and maintenance of the Windows virtual machine, enable and configure it themselves. Statistics show that about 20% of our users do this - we can assume that these are the same 20% of professional users that can be distinguished from any community.

Perhaps in the future we will come up with an adaptive algorithm that will not require manual adjustment of the service time, and then it will be possible to enable this functionality automatically. For those who want to configure their virtual machines, but don’t know what time they are, we can offer you to start by trying the daily service start at 24:00 and see what comes of it - very soon you will find the optimal mode for your case.