How can I avoid software updates from interrupting my Zwift activity?
How can I avoid software updates from interrupting my Zwift activity? setuid Wed, 05/27/2020 - 18:00
Many of us have fallen victim to this one on various platforms. You're 5 minutes away from starting that important Zwift activity.
- Air in the tires? Check!
- Batteries in the HRM and power meter? Check!
- Full bidons and nutrition within arm's reach? Check!
- Towel, fan, shoes, phone, TV remote control? Check, check, check!
Then you fire up Zwift to log in... boom, there's a new Zwift update you didn't plan on, or even worse, Windows or macOS decide NOW is when you need to have that new series of operating system patches and fixes installed. Not later, but NOW!
What do you do?
- How do you stop these updates from interrupting your Zwift activity?
- Can you just delay them?
- Can you stop the updates?
The answer to all of these questions is absolutely yes! This also includes those who run Zwift on their Apple iOS device or Android phone/tablet. I'll got through each of them below.
- Why do I want to pause software updates, don't I need them?
- Pausing updates for your desktop or laptop
- Pause updates for your tablet or phone
- Stop Zwift from updating at launch
- #SixLinesOfPython
- Conclusion
Why do I want to pause software updates, don't I need them?
There's a lot of malicious intent on the live Internet, and keeping your software current and up-to-date helps to protect you from any possible information leaks, breaches or malware from reaching your computer or tablet/phone.
Turning on "Automatic Updates" is usually suggested as one way to always stay clean and current so you're on the latest version of the operating system software or individual applications you're using. But automatic updates can also be a Pandora's Box that can cause problems, while it attempts to mitigate others.
The biggest and most-important concern with automatic updates, is that there's no way to roll back, if the new version introduces a new bug or compatibility issue while it attempts to protect you from others. You can't upgrade your OS from macOS Mojave to macOS Catalina, then find that none of your 32-bit software that worked fine under Mojave suddenly does not work at all under Catalina, then uninstall Catalina and go back to Mojave again. Not without a complete wipe and reinstall of the OS and its applications and data.
Likewise for applications you use. If the new version of an application has a new requirement that you don't like or want, or removes features you're used to using, you can't usually go back to the App Store or Google Play Store and reinstall the previous version you were running before. They're typically not there, and Apple has taken a hard line against "side-loading" apps that didn't come directly through them.
What's the solution then?
Backups of course! But you can't really keep Automatic Updates enabled and make sure your device has a full, working, complete backup before the updates are installed. You usually have to choose one or the other. It's best to have backups anyway, in case the updates cause your device to crash, brick or "boot-loop".
So you can disable OS and app updates, until you have a chance to fully back up your device, in case of an issue or error, you can restore from that backup. This allows quite a bit more flexibility, but does require that you do query for your own updates on your own schedule.
- Backups ensure your device will never lose data, and you can always restore from the backup
- You can roll back from a faulty or buggy update/patch/application
- If features are removed in newer versions, you can go back to the prior state/app version
- A backup allows you to test the updated application or OS, and return to the prior state when your testing is done.
You should always test new software/applications in an isolated way where possible, before making the move to using them full-time on your daily driver device or machine.
Apple is particularly prickly in this situation, since a device backup and immediate restore never leaves you with the same applications and configuration you started with. If the applications you were running immediately prior to the backup are no longer available on the App Store, your device restore will not put them back. You'll essentially lose applications you were running before, if this is the case.
Apple will often remove applications that it deems violates its own Terms of Service or competes with their own offerings. That's disastrous in almost every situation when you want to restore the previous state of your device.
I'll go through the steps to disable/pause updates on each OS and device below.
Pausing Microsoft Windows 7 updates
The process to disable updates in Windows 7 is very straightforward. Here's how:
- Click Start → Control Panel → System and Security → Turn automatic updating on or off
- In the Important updates menu, select Never check for updates.
- Deselect Give me recommended updates the same way I receive important updates.
- Deselect Allow all users to install updates on this computer and click OK.
Alternatively, in Step 2 above, you can choose to have the updates downloaded, but not installed until you're ready to install them.
The caveat here is that if there are a large number of updates, you could be downloading them while you're on Zwift, which could lead to some network congestion and delays.
Make the choice that best fits your individual needs.
Pausing a Microsoft Windows 7 update that has already started downloading
If an update has already started downloading and you're about to start an event, you can still stop the download/update process in progress, by using the following steps:
Open a "cmd" prompt as the Administrator. To do that, just go to Start and type 'cmd.exe' into the dialog. Do not just hit [Enter], that will run the Command Prompt as your normal user. You want to use Ctrl+Shift+Enter, which will prompt you to accept the UAC and run the Command Prompt as the Administrator. You'll know you did it right if your window title has the word "Administrator" in it, as shown here:
Oops, this one is not an elevated prompt!
The first thing we need to do is stop the "Windows Update service". Run "net stop wuauserv" (minus the quotes) inside that Administrator cmd prompt window.
Next, stop the "Background Intelligent Transfer Service (aka "BITS") by running the command: "net stop bits"
The output of those commands should look something like this:
Don't forget to resume those services when you're done with your Zwift activity, by running the following:
- net start wuauserv
- net start bits
Pausing Microsoft updates for Windows 10
Unfortunately for Windows 10, there's no permanent way to disable updates, without some risky surgery on your Windows machine itself. I wouldn't recommend that, but you can pause updates for a period of time that will get you past your current and upcoming activities. Here's how!
Stopping the Windows Update Service
Start by hitting the Win+R key combination and type "services.msc" in the dialog that shows up:
While in the Services applet, scroll down to "Windows Update", right-click on it and choose "Properties" from the menu:
Now you want to set the action to "Disabled" in the "Startup type" section of the Properties for Windows Update:
Now your updates should remain disabled until the next critical Windows update hits their queue.
Set your WiFi networks as "Metered" connections
Another way to achieve the same effect, is to set your WiFi networks to "Metered" connections. Note: This only works for wireless network connections, and will not work for Ethernet (wired) connections.
Go to your Start menu and type "Network" to bring up the Network status applet:
From here, click on "WiFi" on the left side, then go to "Manage Known Networks" on the right side. You will now see the WiFi network(s) configured for use on your machine. If you have more than one network or more than one WiFi adapter, you may see more than one network listed.
Click on the network(s) one by one, and go to Properties. On the next screen, you'll want to toggle the "Metered" slider to the "On" position, as shown here:
Windows 10 will not download any non-critical updates while your connection is set to Metered. Any urgent, critical patches or updates will be pushed automatically.
For those, you can use the next method, pausing updates for up to 4 weeks.
Pausing updates for up to 4 weeks
If you're willing to leave the Windows Update service enabled and running, you can also pause (defer) your updates for up to 4 weeks. To do that, go to your "Windows Update Settings" applet, and click the "Pause updates for 7 days" option several times until it turns grey.
Within this same applet is the ability to set your "active hours", so updates do not impact your ride time. If you know you only ever ride from 7am to 11am, you can set those as your active hours, and Windows will not update your machine during those times.
macOS Mojave, Catalina
With the most-recent Apple macOS versions, you can set your Apple machine to update itself with newer patches and updates automatically. This has its good and bad points. If you don't have a solid, recent Time Machine backup to give you something to restore from in the event that an "update" breaks something you need or rely on, I would set automatic updates as disabled, and just check manually when you feel you need to see if there's new versions of the OS or core applications.
If you have Time Machine running on a regular basis, and you have current backups, you can safely leave Automatic Updates enabled, but make sure they don't impact your Zwift activities.
Disabling automatic software updates from the GUI
To see if your macOS machine is configured for Automatic Updates, use ⌘ + Space and type "System Preferences", and then click on "Software Update". You should see a window that looks like the following:
Note that I've unchecked "Automatically keep my Mac up to date". When I click that box, macOS will reach out and look for new updates. It turns out there's a pending update for my MacBook Pro:
I can also check for updates directly from the terminal (which is significantly faster and doesn't require me to reboot when the updates are installed).
Ideally, I want to be sure those updates don't interrupt my Zwift activities, so I keep them disabled (all checkboxes off). You can tune these options as necessary for your own needs:
Disable background updates from the Terminal
You can also disable background updates directly from the Terminal, by running the following command:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -boolean FALSE
To reset those back to enabled, you can just set the value back to TRUE, as follows:
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -boolean TRUE
Pause updates for your tablet or phone
If you run the Zwift application or the Zwift Companion App on your phone or tablet, and want to avoid any background interruption of those apps when you're riding on Zwift, you can disable OS updates there as well.
Turning off Android OS updates
Android devices are, by default, set to update apps through the Google Play store, as well as have OS updates pushed from the carrier. This is almost never what you want from a stable, predictable device that doesn't change its behavior on you without warning, backup and testing.
To disable Android OS updates, follow these steps:
- Pull down from the top of your screen to expose the Settings and launch that
- Scroll down in the Settings applet until you see the “About phone” section and tap on that
- Tap on the “Software Information” section, and scroll down until you see “Build Number"
- Repeatedly tap on that section until your device says that “Developer mode" has been enabled
- Go back to the main Settings screen and scroll down again. You should see a new “Developer options” section near “About phone”
- Tap on "Developer options", and then look for the “Automatic system updates” option. Make sure it’s set to "Disabled"
While you're in the same "Developer options" menu, set the 3 scaling options to "Off" as well, which will drastically increase snappiness and response time of your Android device:
Turning off Android application updates
If you want to make sure your device doesn't kick off some unexpected Google Play App Store updates of any key apps (especially Zwift itself or the Zwift Companion App), then you can disable them there as well. To do that, follow these steps:
- Launch the Google Play Store application
- Tap the "hamburger" ☰ menu in the upper-left corner
- Scroll down and go to Settings
- Make sure the following two settings are changed to "Ask me every time" and "Don't auto-update apps"
An even quicker and easier way, is to disable Google Play Store itself, completely. There's an application called "Package Disabler Pro" that makes this very easy to do. Just install that, search for 'Google Play", and check the box. Now Google Play is disabled, and will not attempt to update your apps automatically.
To return it back to normal function, just go back into "Package Disabler" and uncheck the box next to Google Play.
Package Disabler is great for disabling annoying carrier software or unnecessary applications you don't want loaded, running or using your network in the background.
Note: Be careful with the apps you disable. If you disable software needed to boot or operate the device, you may find your device unable to restart and you'll have to do a Factory Reset. Just disable Google Play Store for now, until you're comfortable disabling the other applications you don't need.
Disable iOS and iPadOS OS updates
If you want to be sure your iOS device doesn't pull a large iOS or iPadOS update, you can go into Settings → General → Software Updates → Automatic Updates and set that to "Off", as shown here:
That's it. When you want to check for a new OS update, you can go back in there and just check for updates. You do not need to turn on Automatic Updates to check for or install new OS releases.
Disable App Store application updates
To stop iOS or iPad OS from automatically updating packages on your iPhone/iPad device, follow these steps:
- Open Settings as you did above, and tap on your iCloud account icon at the top of the Settings screen
- Tap on iTunes & App Store just below iCloud about mid-way down the screen
- Turn off the slider for Apps and App Updates, as shown here:
- Not to worry, you can still update your apps by visiting the App Store directly, and clicking "Update All" from the menu, as shown here:
Stop Zwift from updating at launch
Zwift's launcher (aka "ZwiftLauncher) on Windows and macOS both have in-menu options to disable updates, or updating in the background. You can find those with the following:
Windows
- Launch Zwift and let the login window show up, but do not log in. In your Start Menu at the bottom, should be an icon for the Zwift Launcher.
- Right-click that icon, and you'll see the following menu:
- Choose the options that are appropriate for your needs, and then complete the login into Zwift to begin your activity
Apple macOS
A similar menu to Windows is available on macOS, but it's accessed slightly differently. There is no standalone launcher that remains resident on macOS, so you have to access the menu differently.
- Launch Zwift by using the icon or use ⌘ + Space and type "Zwift" from the Spotlight menu
- When Zwift's login dialog shows up, do not log in, leave it on the screen
- In the upper-left, near the Apple menu, click "Zwift" and then you'll see the following menu:
#SixLinesOfPython
Python? Sure, that's an option too. I wrote an offline Zwift downloader in Python called "ZOD" (Zwift Offline Downloader), and recently updated it with much better performance and threading. You can see both versions below. Shh, it's actually 272 lines of Python. With comments.
Version 1 of Zwift Offline Downloader
Version 2 of Zwift Offline Downloader
Conclusion
This KB was a lot longer than I originally scoped, but you should be able to make use of many of these tips and options to help your Zwift activities be interrupt-free! Good luck out there, and #RideOn!
- 982 views