Винда и установленные программы

Вот вы как дума­ли, что всё, что уста­нов­ле­но — вид­но в пане­ли управ­ле­нии на 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 и ста­ло бы совсем хоро­шо. Новое — хоро­шо забы­тое ста­рое!