Вот вы как думали, что всё, что установлено — видно в панели управлении на Windows? Ага, щас. На самом деле установлено там намного больше, только некоторые вещи в панели управления не отображаются. Принципиально.
Получить весь список можно, пройдя руками в реестр:
HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall (для 64-битного софта)
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall (для 32-битного софта, ага, надо по-другому)
Можно, например, в шелле сделать так:
$programs = Get-ChildItem -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall; foreach ($program in $programs) { $program }
Узнаете много нового, я гарантирую.
Надо сказать, что rpm -qa или apt list –installed значительно проще в применении (лично мне). Микрософт, правда, не законченные придурки, поэтому быстренько подсуетились и выкатили winget, с которым можно делать очень похожие фокусы. Я его, правда, толком пока не щупал, неизвестно, как оно показывает установленный софт — даёт полный список или кастрированный, как в панели управления.
А вообще забавно, конечно, наблюдать как Windows семимильными шагами идёт к копированию линуксоподобных вещей. Ещё бы установку обновлений привели бы к простоте apt update && apt upgrade и стало бы совсем хорошо. Новое — хорошо забытое старое!