Skip to content

Software and updates on Windows

Exercise software-and-updates-on-windows-annex.pdf · PDF

Your phone says Update available. You tap Later. Then Later again. What could possibly happen?

On a Friday in May 2017, hospitals in the United Kingdom sent patients home and a big Spanish company told its staff to switch off their computers. The cause was a hole in Windows that had been fixed two months earlier. The machines that got hit were simply the ones that had pressed Later. Today you learn how software arrives on Windows and how to keep three different systems up to date.

What you will learn

  • Why an unpatched system is a risk, with the real case of WannaCry
  • Check, install and review updates in Windows Update
  • Search, install, list, upgrade and uninstall programs with winget
  • Compare the three doors into Windows: a downloaded installer, the Microsoft Store and winget
  • Tell an update from a release upgrade, and what end of support means
  • Why winget upgrade on its own upgrades nothing

A Friday in May 2017

Date What happened
14 March 2017 Microsoft publishes a security update, MS17-010. It closes a hole in the way Windows shares files over the network
Friday 12 May 2017 A ransomware called WannaCry uses that hole. It jumps from PC to PC with no click from anyone
The following days More than 200,000 computers in about 150 countries. Hospitals of the NHS in the United Kingdom send patients away. In Spain, Telefónica tells its staff to switch off their computers

Ransomware is a program that locks your files and asks for money to unlock them.

Who was hit? Only the machines that had not installed a two-month-old update. Patched computers were not affected. Nobody had to be clever to be safe from WannaCry. They only had to be up to date.

Three kinds of update

Kind What it does How urgent
Security fix Closes a hole an attacker could use Urgent
Bug fix Repairs a mistake in the program Useful
Feature Adds something new Can wait

Microsoft publishes its monthly security updates on Patch Tuesday, the second Tuesday of each month.

Windows Update

Windows Update is the part of Windows that downloads and installs updates for Windows itself and other Microsoft products.

In win11: Start → Settings → Windows Update → Check for updates. A cumulative update for the month appears, with a name that contains a KB number (the code Microsoft gives each update). Let it download in the background.

Then open Update history: it lists Quality updates, Driver updates and Definition updates (the antivirus's list of known threats), each with its date.

It seems frozen at a percentage

It is not. Windows Update is slow and quiet. Leave it working and carry on.

winget: a package manager for Windows

winget is the package manager of Windows: one command talks to a repository and installs a program.

It arrived in 2020 — more than twenty years after apt — and it is part of Windows 11. Right-click the Start button → Terminal:

winget --version
winget search 7zip

winget search lists Name, Id, Version and Source. The Id is the exact name of the package: 7zip.7zip. The first time, winget asks you to accept the terms of its source: answer Y.

winget show --id 7zip.7zip -e
winget install --id 7zip.7zip -e
winget list

-e means exact: without it winget matches any Id that contains the text and may ask which one. The install downloads the installer, checks its hash against the one in the repository, and installs it. winget list now shows 7-Zip.

A window may dim the screen and ask Do you want to allow this app to make changes? That is User Account Control (UAC): Windows asking for administrator rights, like sudo on Linux. Answer Yes.

winget upgrade
winget uninstall --id 7zip.7zip -e

Careful: winget upgrade on its own upgrades nothing

With no arguments, winget upgrade only lists what can be upgraded. winget upgrade --all installs them. It is the same trap as apt update, the other way round: read the output before you believe a command did something.

Three doors into Windows

Downloaded installer Microsoft Store winget
You get it from The maker's web page (.exe or .msi) The Store app The Terminal
Who checks the file You: right site, digital signature Microsoft winget compares the download with a hash in the repository
Updates Each program its own way, or never The Store, automatically winget upgrade, when you run it
Uninstall Settings → Apps → Installed apps Same place winget uninstall, or the same place
Good for Programs that are nowhere else Home users Setting up many PCs the same way

An .msi file is an installer in Windows' own installer format; an .exe is a program that installs.

The classic way, once

Open Edge and type the official address of Notepad++: notepad-plus-plus.org. Download the installer and install it, counting every click from the web page to Finish: open the site, find Downloads, download, open the file, accept the UAC window, language, licence, folder, components, Install, Finish. Ten clicks or more — against one line of winget.

Find the file in Downloads → right-click → Properties. The Digital Signatures tab names who signed the installer. If the tab is missing, the file is unsigned, and Windows may warn you.

The first search result is often an advert

A search engine's first result may be an advert pretending to be the maker. Type the official address, or use the Store or winget. If SmartScreen says Windows protected your PC, that is the first column of the table doing its job: stop and think before you click through.

Uninstall it the graphical way: Settings → Apps → Installed apps → the three dots next to Notepad++ → Uninstall. In the Microsoft Store, the Library (or Downloads) page has a button to get updates for Store apps.

Careful: Windows Update does not update all my programs

It updates Windows and Microsoft products. Other programs are updated by the Store, by winget, or by the program itself — or never.

Update, point release, release upgrade

Updates come in three sizes:

flowchart LR
    U["<b>Update</b><br>fixes for packages;<br>same version of the system"] --> P["<b>Point release</b><br>the updates, collected<br>Debian 13.0 → 13.7"]
    P --> R["<b>Release upgrade</b><br>a whole new version<br>Debian 12 → 13"]
Size What changes Example
Update Packages get fixes; the version of the system stays sudo apt update + sudo apt upgrade
Point release The same, collected: just the normal updates Debian 13.0 → 13.7, arrives with apt upgrade
Release upgrade A whole new version of the system Debian 12 → 13 · Ubuntu 24.04 → 26.04 · Windows 10 → 11

A release upgrade is a planned job: read the release notes, make a snapshot or a backup first, and expect it to take an hour.

How long am I safe?

End of support is the day the maker stops sending security updates for a version. After it, new holes stay open for ever.

System Released Support
Ubuntu 26.04 LTS 23 April 2026 Five years of standard updates
Debian 13 9 August 2025 About five years in total
Windows 10 — Ended on 14 October 2025

Millions of PCs could not move from Windows 10 to Windows 11 because of the TPM 2.0 requirement you met when installing Windows 11.

Careful: if it works, do not touch it?

A system that works and is not updated works for the attacker too. Update on a schedule, and keep a way back — the next page.

Bring the Linux machines up to date

Shut win11 down; start deb-lab:

cat /etc/debian_version
sudo apt update
sudo apt upgrade
apt list --upgradable

/etc/debian_version shows 13.x, the point release. After the upgrade, apt list --upgradable is empty.

Then ubu-srv:

sudo apt update
sudo apt upgrade
ls /var/run/reboot-required
cat /etc/apt/apt.conf.d/20auto-upgrades
sudo do-release-upgrade -c
Command What its answer means
ls /var/run/reboot-required If the file exists, a restart is pending (sudo reboot). No such file means no restart is needed
cat .../20auto-upgrades Two lines ending in "1": the server installs security updates by itself every day (unattended-upgrades)
sudo do-release-upgrade -c Only checks for a new release; on 26.04 LTS it answers that there is no newer LTS yet

The path /etc/apt/apt.conf.d/20auto-upgrades is long: type the start and press Tab to complete it.

Who updates what?

win11 deb-lab ubu-srv
System updates Windows Update apt update + apt upgrade apt update + apt upgrade
Application updates Store, winget upgrade, each program The same two apt commands apt, and snap refresh for snaps
Automatic? Yes, by default Only if configured Security updates, yes (unattended-upgrades)
Restart needed? Often After a kernel update After a kernel update (reboot-required)
Next release Offered in Windows Update Planned upgrade to Debian 14 when it exists do-release-upgrade to the next LTS

Key takeaways

  • WannaCry (12 May 2017) hit machines missing a security update published on 14 March: being up to date was enough.
  • Windows Update updates Windows and Microsoft products; Patch Tuesday is the second Tuesday of each month.
  • winget is Windows' package manager: search, install --id … -e, list, upgrade --all, uninstall.
  • Software enters Windows through three doors: a downloaded installer, the Microsoft Store, or winget.
  • An update fixes the current version; a release upgrade moves to a new one and needs a way back.
  • After end of support, a system gets no more security updates.

Quick check

1. WannaCry spread on 12 May 2017. When was the update that closed its hole published?
  • Two months earlier
  • The same day
  • One week later
  • One year later

MS17-010 came out on 14 March 2017. The machines hit were the ones that had not installed a two-month-old security fix.

2. What does winget upgrade do when you type nothing after it?
  • Lists the programs that can be upgraded
  • Upgrades every installed program
  • Upgrades Windows to its next version
  • Uninstalls the old versions of programs

On its own, winget upgrade only lists. winget upgrade --all installs the new versions. Always read what a command actually did.

3. Which of these is a release upgrade?
  • Ubuntu 24.04 to Ubuntu 26.04
  • Installing this month's security update
  • Debian 13.0 to Debian 13.7
  • Installing 7-Zip with winget

A release upgrade moves the whole system to a new version. Debian 13.0 → 13.7 is a point release: just the normal updates, collected.

4. What does end of support of an operating system mean?
  • It gets no more security updates
  • It stops working on that day
  • You must pay to start it again
  • Its programs are uninstalled automatically

The system keeps running after end of support, but new holes are never closed. Windows 10 reached it on 14 October 2025.

5. You need the same ten programs on thirty new Windows PCs. Which door fits best?
  • winget, with the ten package Ids
  • Downloading each installer thirty times from the web
  • Waiting for Windows Update to bring them
  • Copying the Program Files folder from one PC

winget installs a program with one line, checks the installer's hash, and can repeat the same list on every PC. That is what it is good for.

6. During a winget install the screen dims and asks Do you want to allow this app to make changes? What is it?
  • User Account Control asking for administrator rights
  • SmartScreen blocking an unsigned installer
  • Windows Update asking to restart the PC
  • The Microsoft Store asking you to sign in

UAC is Windows' way of asking for administrator rights before a change to the system — the Windows cousin of sudo.

7. On ubu-srv the file /var/run/reboot-required exists after an upgrade. Select the two that are true.
  • A restart is needed to finish applying an update
  • Restarting with sudo reboot will apply it
  • The upgrade failed and must be repeated
  • The server will refuse logins until it restarts

The file is a flag: an update (often a new kernel) only takes effect after a restart. The upgrade worked; the server keeps running normally until you reboot it.

Always update — and before a big change, know how you will go back. Next you build that way back, then break your machines on purpose: Snapshots and recovery.