project-switch v0.16.2
Finding MSIX and Store apps on Windows
Store-packaged and MSIX apps were missing from the Windows launcher. The reason is that they don’t drop a .lnk into the Start Menu like classic win32 apps do — they register through an app manifest instead, so my directory-scanning approach never saw them.
The fix reaches into shell:AppsFolder via COM. A new collect_packaged_apps opens FOLDERID_AppsFolder, enumerates it with IEnumShellItems, and pulls each item’s AUMID and display name through IShellItem::GetDisplayName (carefully freeing the COM-allocated strings with CoTaskMemFree). Packaged apps are identifiable by their PackageFamilyName!AppId AUMID format, so I filter on the ! and skip anything without it — those are plain win32 apps already covered by the existing .lnk/.url scan. Matches get stored with a shell:AppsFolder\<aumid> path so they launch correctly. The packaged apps are merged into the scanned entries, deduplicated by lowercased name against what the directory scan already found, and the combined list is sorted alphabetically. This pulled in two new windows crate features, Win32_UI_Shell and Win32_System_Com.