📊 Project Statistics
Current coverage across 100 open-source Windows applications — updated with each release.
🗂️ Registry Coverage
| Metric | Count |
|---|---|
| Total apps documented | 100 |
| Total registry paths documented | 323 |
| Apps that write to HKCU | 78 (78%) |
| Apps that write to HKLM | 85 (85%) |
| Apps that write to HKCR (file associations / URI schemes) | 34 (34%) |
| Apps that write to all three (HKCU + HKLM + HKCR) | 21 (21%) |
Apps with Windows service keys (HKLM\SYSTEM\...\Services) |
15 |
| Apps that write to HKLM only (no user-level keys) | 13 |
| Apps that write to HKCU only | 11 |
🔑 Hive Distribution
HKLM ████████████████████████████████████████████████ 85% (85 apps)
HKCU █████████████████████████████████████████████ 78% (78 apps)
HKCR ████████████████████ 34% (34 apps)
📦 Installer Type Breakdown
| Type | Count |
|---|---|
.exe (various) |
63 |
.msi |
11 |
| Portable (no installer) | 12 |
| Built-in / OS feature | 1 |
🖥️ Apps with Windows Services
These apps install Windows services (HKLM\SYSTEM\CurrentControlSet\Services) — relevant for sysadmins managing startup behavior and service accounts:
| Application | Service Name |
|---|---|
| Docker Desktop | com.docker.service |
| Nextcloud Desktop | nextcloud (VFS) |
| OBS Studio | OBSVirtualCam |
| OpenVPN | OpenVPNService, tap0901 |
| Process Hacker | KProcessHacker3 (kernel driver) |
| RustDesk | RustDesk |
| Syncthing | SyncTrayzor |
| Oracle VM VirtualBox | VBoxDrv, VBoxNetFlt |
| Wireshark | npcap (packet capture driver) |
| WSL | WslService, LxssManager |
| ZeroTier | ZeroTierOneService |
🔗 Apps with File Associations (HKCR)
28 apps register file type handlers or URI schemes in HKCR. Key examples:
| Application | File Types / URI Schemes |
|---|---|
| 7-Zip | .7z, .zip, .rar, .tar, .gz, .bz2 |
| AutoHotkey | .ahk |
| Calibre | .epub, .mobi, .fb2 |
| Firefox | FirefoxHTML, FirefoxURL, mailto: |
| Git Extensions | .git |
| IrfanView | .jpg, .png, .bmp, .webp, .heic |
| KeePassXC | .kdbx |
| MPC-HC | .mkv, .mp4, .avi, .mov |
| MusicBee | .mp3, .flac, .ogg, .aac |
| Nmap | .nmap (Zenmap profile) |
| Python | .py, .pyw |
| Signal | sgnl:// |
| Sumatra PDF | .pdf, .epub, .cbz, .djvu |
| Telegram | tg:// |
| Thunderbird | mailto:, .eml |
| VLC | .mp4, .mkv, .avi, .mp3, vlc:// |
| WinMerge | Explorer context menu (all files) |
| Wireshark | .pcap, .pcapng, .cap |
🛠️ Apps with Portable / No-Install Options
These apps can run with zero registry footprint (useful for restricted environments):
| Application | Notes |
|---|---|
| Everything | Portable .exe available |
| KeePass Password Safe | Portable .zip available |
| KeePassXC | Portable .zip available |
| MPC-HC | Portable .zip available |
| Notepad2 | Primarily portable |
| Rufus | Single .exe, no installer |
| Sumatra PDF | Portable .exe available |
| Syncthing | Single .exe, no installer |
| WinDirStat | Portable .exe available |
📈 Growth History
| Milestone | Apps |
|---|---|
| Initial release | 19 |
| Batch 2 (developer tools) | 29 |
| Batch 3 (productivity + dev tools) | 39 |
| Batch 4 (utilities + security) | 50 |
| Batch 5 (sysadmin + multimedia) | 60 |
| Batch 6 (media + sync + dev) | 70 |
| Batch 7 (creative + utilities) | 80 |
| Batch 8 (network + media + dev tools) | 90 |
| Batch 9 (hardware + utilities + developer tools) | 100 |
🔄 Keeping Docs Current
Registry keys can change between major app versions. This project uses two mechanisms to stay up to date:
Automated Staleness Detection
A weekly GitHub Actions workflow runs every Monday. It:
- Queries winget for the latest version of each documented app
- Compares it against the version recorded in each
.mdfile - Opens a GitHub Issue automatically listing any docs that appear stale
You can also run the check locally:
# Check all apps — show table of current vs. latest
pwsh -File tools/check-versions.ps1
# Show only stale apps
pwsh -File tools/check-versions.ps1 -StaleOnly
# Output GitHub issue-ready markdown
pwsh -File tools/check-versions.ps1 -OutputFormat issues
last_verified Tracking
Every entry in index.json includes a last_verified date derived from the last git commit to that file. This makes it easy to identify docs that haven't been touched in a long time.
How to Update a Stale Doc
- Install the latest app version on a test system
- Use
regeditorreg queryto verify current registry structure - Update the version number and any changed keys in
windows/<app>.md - Run
pwsh -File tools/validate-docs.ps1to verify - Run
pwsh -File tools/build-index.ps1to rebuild the index - Submit a PR — see CONTRIBUTING.md
Want to add an app? See CONTRIBUTING.md.