Files
Workstation-Setup/PHASE-3-APPLICATION-RECOMMENDATIONS.md
2026-09-09 11:11:06 -07:00

20 KiB

PHASE 3: APPLICATION RECOMMENDATIONS

Complete Application Audit & Recommendations Matrix

Phase Start Date: 2026-09-09
Scope: Review all current applications, recommend additions/removals, create unified app catalog
Outcomes: Recommended application list per profile with full metadata


3.1 CURRENT APPLICATIONS REVIEW

3.1.1 Core WinGet Packages (16 total)

App Current Recommendation Reason Notes
7-Zip Core Keep as Core Universal archiving, portable builds available ✅ Essential
Everything Search Core Keep as Core Fast file search across drives ✅ Essential
Notepad++ Core Keep as Core Essential text editor for configs/scripts ✅ Essential
Visual Studio Code Core Keep as Core Primary IDE for scripting/development ✅ Essential
Git Core Keep as Core Version control, essential for automotive work ✅ Essential
Python 3.13 Core Keep as Core Required for scripting and ECU analysis tools ✅ Essential
PowerShell 7 Core Keep as Core Cross-platform scripting ✅ Essential
Microsoft PowerToys Core Keep as Core System utilities (color picker, bulk rename, etc.) ✅ Useful
PuTTY Core Keep as Core SSH/serial terminal ✅ Essential for remote work
WinSCP Core Keep as Core SFTP/SCP file transfer ✅ Useful for cross-Windows
Wireshark Core Keep as Core Network packet analysis (CAN, J2534 debugging) ✅ Essential for automotive
Rufus Core Keep as Core USB bootable drive creation ✅ Useful for Windows multi-boot
Ventoy Core Keep as Core Multi-boot USB tool ✅ Complements Rufus
CrystalDiskInfo Core Keep as Core Disk health monitoring ✅ Important for workstation
CPU-Z Core Keep as Core Hardware inventory ✅ Useful for diagnostics
GPU-Z Core Keep as Core GPU monitoring ✅ Useful for diagnostics
HxD Core Keep as Core Portable hex editor (also WinGet installed) ⚠️ Installed twice (WinGet + Portable) — recommend portable only

3.1.1.1 Core Package Issues

  • HxD Duplication: Listed in both WinGet core and portable apps
    • Recommendation: Remove from WinGet, keep portable (fewer dependencies, portable mode)

3.1.1.2 Core Packages to Consider Adding

  • Windows Terminal — Better PowerShell/cmd experience (currently optional)
    • Recommendation: Move to Core (widely used, Microsoft official)
  • Sysinternals Process Explorer — Better than built-in Task Manager
    • Status: Already available via Sysinternals portable suite; good
  • ripgrep (rg) — Faster grep for source code search
    • Status: Currently as portable CLI; consider Core for universal access
  • fd — Faster find command
    • Status: Currently as portable CLI; consider Core

3.1.2 Optional WinGet Packages (9 total)

App Current Recommendation Reason Profile
GNU Make Optional Move to Optional (keep) Build automation, some projects need it DailyTech, optional
CMake Optional Move to Optional (keep) Build configuration, some projects DailyTech, optional
Node.js LTS Optional Move to Optional (keep) JavaScript runtime, useful for tools DailyTech, optional
Postman Optional Move to Optional (keep) API testing, useful for CAN/J2534 testing DailyTech, optional
Windows Terminal Optional Move to Core ↑ Better console experience All profiles
VirtualBox Optional Keep as Optional VM support for testing DailyTech, optional
VLC Optional Move to Optional (keep) Media player, useful for logs/training All, optional
SumatraPDF Optional Keep as Optional Lightweight PDF viewer All, optional
Process Explorer Optional Remove WinGet ver Sysinternals portable suite already included Use portable

3.1.2.1 Recommendations

  • Move Windows Terminal to Core (better console/PowerShell experience)
  • Remove Process Explorer WinGet (use Sysinternals portable suite instead)
  • Consider adding to Optional:
    • jq (CLI): JSON query tool (already portable)
    • yq (CLI): YAML query tool (already portable)
    • ripgrep (rg): Regex file search (already portable)
    • Pester: PowerShell testing framework (already in VS Code)

3.1.3 Portable Applications (21 total)

App Type Current Recommendation Profile Notes
Visual Studio Code Portable Zip Portable Keep All Good portable mode
Sysinternals Suite Zip Portable Keep All Essential system tools
PuTTY Portable Exe Portable Keep All Also in WinGet; portable OK
WinHex Zip Portable Keep DailyTech Essential hex editor, binary work
HWiNFO Portable Zip Portable Keep All Hardware info (remove WinGet HxD conflict)
Notepad++ Portable GitHubZip Portable Keep All Also in WinGet; portable OK
Rufus GitHubExe Portable Keep All Also in WinGet; portable good
Ventoy GitHubZip Portable Keep All Also in WinGet; portable OK
ShareX GitHubZip Portable Keep All Screenshot/capture tool, useful
WinMerge GitHubZip Portable Keep All File/folder comparison, essential
KeePassXC GitHubZip Portable Keep All Password manager, good portable
DB Browser SQLite GitHubZip Portable Keep All EEPROM database inspection
ImHex GitHubZip Portable Keep DailyTech Binary template editor, reverse engineering
Ghidra GitHubZip Portable Keep DailyTech Binary disassembly/decompilation
PeaZip GitHubZip Portable Keep All Archive manager, alternative to 7zip
System Informer GitHubZip Portable Keep All Advanced system monitor
jq (CLI) GitHubExe Portable Keep All JSON query tool
yq (CLI) GitHubExe Portable Keep All YAML query tool
CyberChef GitHubZip Portable Keep DailyTech Data transformation, cipher analysis
Google Chrome Portable ChromeForTesting Portable Keep All Portable browser, good for testing
Google Chrome Portable ChromeForTesting Portable DUPLICATE — REMOVE - Appears twice in portable-apps.json

3.1.3.1 Portable App Issues

  • HxD Duplication: WinGet + Portable (recommend portable only)
  • Chrome Duplication: Check if truly duplicate in portable-apps.json
  • Regex Ambiguity: WinMerge, CyberChef, Ghidra patterns need tightening (fixed in Phase 2)

3.1.3.2 Portable Apps to Consider Adding

For All Profiles:

  • ripgrep (rg) — Regex file search (currently only CLI portable, but essential)
    • ✅ Already available as portable
  • fd — Fast alternative to find command
    • ✅ Already available as portable
  • bat — Cat with syntax highlighting
    • ✅ Already available as portable
  • fzf — Fuzzy file finder
    • ✅ Already available as portable

For DailyTech & Tuning (Automotive/Binary Analysis):

  • SavvyCAN — CAN bus analysis and visualization

  • BUSMASTER — CAN protocol analysis

    • Status: ❌ Not included; consider adding
    • Priority: Medium (overlaps with SavvyCAN)
    • Type: GitHub
    • UseCase: CAN bus testing
  • UPDplayer — Flash file player/simulator

    • Status: ❌ Not included
    • Priority: Low (specific to certain vendors)
    • UseCase: UDS protocol simulation
  • Binwalk — Firmware analysis tool

    • Status: ❌ Not included; should add
    • Priority: High
    • Type: GitHub or Python package
    • UseCase: Binary firmware inspection
  • Radare2 — Reverse engineering framework

    • Status: ❌ Not included
    • Priority: Medium (overlaps with Ghidra)
    • UseCase: Binary analysis
  • hashdeep / md5deep — File hash verification

    • Status: ❌ Not included; consider
    • Priority: Low (can use PowerShell Get-FileHash)
    • UseCase: Verify EEPROM reads

For ODIS & XENTRY (VAG Diagnostics):

  • No specific VAG-only portable tools recommended (OEM suites are licensed/interactive)
  • Profile-specific apps managed via AllowList/DenyList

For PIWIS & ISTA (BMW/Porsche Diagnostics):

  • No specific Porsche/BMW portable tools recommended (OEM suites are licensed)
  • Profile-specific apps managed via AllowList/DenyList

3.1.4 VS Code Extensions (10 total)

Extension Current Recommendation Profile Justification
Hex Editor Optional Keep All Binary inspection, EEPROM editing
Serial Monitor Optional Keep All Serial terminal, diagnostics interface
Python Optional Keep All Python language support, essential
C/C++ Optional Keep DailyTech Reverse engineering, analysis
CMake Tools Optional Keep DailyTech Build configuration
Makefile Tools Optional Keep DailyTech Build automation
PowerShell Optional Keep All PowerShell scripting, setup
YAML Optional Keep All Configuration files, CI/CD
XML Optional Keep All Config files, diagnostic logs
Even Better TOML Optional Keep All Config file editing

3.1.4.1 VS Code Extensions to Add (Optional)

  • ms-vscode.remote-ssh — Remote development over SSH

    • Justification: Connect to vehicle interfaces or remote systems
    • Priority: Medium
    • Profile: All
  • ms-python.debugpy — Python debugger

    • Justification: Debug automotive analysis scripts
    • Priority: Medium
    • Profile: All
  • eamodio.gitlens — Git integration

    • Justification: Track changes to binary analysis, scripts
    • Priority: Low
    • Profile: All
  • esbenp.prettier-vscode — Code formatter

    • Justification: Format JavaScript helpers
    • Priority: Low
    • Profile: DailyTech
  • ms-vscode.makefile-tools — Makefile support (already listed)

    • Status: ✅ Included
  • rust-lang.rust-analyzer — Rust language support

    • Justification: Some automotive tools written in Rust (ripgrep, fd)
    • Priority: Low
    • Profile: DailyTech (optional)

3.2 PROFILE-SPECIFIC APPLICATION MATRIX

3.2.1 DailyTech & Tuning Profile

Primary Use Cases: ECU tuning, cloning, reverse engineering, CAN analysis, binary inspection, scripting

Category Application Install Type Core Optional Reason
Development Git WinGet ✅ - Version control, essential
Python 3.13 WinGet ✅ - Scripting language
Visual Studio Code WinGet ✅ - IDE
Visual Studio Code (Portable) Portable - ✅ Offline mode, extensions
PowerShell 7 WinGet ✅ - Scripting
GNU Make WinGet - ✅ Build automation
CMake WinGet - ✅ Build config
Node.js WinGet - ✅ JavaScript runtime
Binary Analysis HxD (Portable) Portable ✅ - Hex editor, core tool
ImHex Portable ✅ - Binary templates, reverse engineering
Ghidra Portable ✅ - Disassembly/decompilation
Binwalk Portable/Pip - ✅ Firmware analysis
Radare2 Portable - ✅ RE framework (alternative to Ghidra)
CAN/Diagnostics Wireshark WinGet ✅ - Network packet analysis, CAN over IP
SavvyCAN Portable - ✅ CAN bus analysis (GitHub)
BUSMASTER Portable - ⚠️ CAN protocol (overlaps w/ SavvyCAN)
File Tools 7-Zip WinGet ✅ - Archive extraction
WinMerge Portable ✅ - File diff/sync
PeaZip Portable ✅ - Archive manager
Everything WinGet ✅ - Fast file search
Database DB Browser SQLite Portable ✅ - EEPROM inspection
Utilities CrystalDiskInfo WinGet ✅ - Disk health
CPU-Z / GPU-Z WinGet ✅ - Hardware info
Sysinternals Suite Portable ✅ - System diagnostics
System Informer Portable ✅ - Advanced monitor
PowerToys WinGet ✅ - System utilities
Scripting/CLI jq Portable ✅ - JSON query (PATH)
yq Portable ✅ - YAML query (PATH)
ripgrep (rg) Portable ✅ - Fast search (PATH)
fd Portable ✅ - Alternative find (PATH)
bat Portable ✅ - Cat replacement (PATH)
fzf Portable ✅ - Fuzzy finder (PATH)
Text Editing Notepad++ WinGet/Portable ✅ - Config editing
Data Transform CyberChef Portable - ✅ Cipher/encoding analysis
Network PuTTY WinGet/Portable ✅ - SSH/serial terminal
WinSCP WinGet ✅ - SFTP file transfer
Other Rufus WinGet/Portable ✅ - USB bootable
Ventoy WinGet/Portable ✅ - Multi-boot USB
Chrome (Portable) Portable ✅ - Browser testing
KeePassXC Portable ✅ - Password manager
VirtualBox WinGet - ✅ VM testing
VLC WinGet - ✅ Media player
SumatraPDF WinGet - ✅ PDF viewer

DailyTech Total: 39 applications (22 core, 17 optional)


3.2.2 ODIS & XENTRY Profile

Primary Use Cases: VAG and Mercedes diagnostics, OEM tool integration, coding backups, diagnostic logging

Category Application Install Type Core Optional Reason
Development Git WinGet ✅ - Version control
Python 3.13 WinGet ✅ - Scripting
Visual Studio Code WinGet ✅ - Editor
PowerShell 7 WinGet ✅ - Scripting
Windows Terminal WinGet ✅ - Console
Utilities 7-Zip WinGet ✅ - Archive
Everything WinGet ✅ - File search
WinMerge Portable ✅ - File diff
Notepad++ WinGet ✅ - Config editing
Wireshark WinGet ✅ - Network analysis (OBD over Ethernet)
PuTTY WinGet ✅ - SSH/serial
WinSCP WinGet ✅ - SFTP
System CrystalDiskInfo WinGet ✅ - Disk health
CPU-Z / GPU-Z WinGet ✅ - Hardware
Sysinternals Suite Portable ✅ - Diagnostics
PowerToys WinGet ✅ - Utilities
Database DB Browser SQLite Portable ✅ - Coding backup inspection
Scripting jq, yq, rg, fd Portable ✅ - CLI tools
Media/Browser Chrome (Portable) Portable ✅ - Browser
SumatraPDF WinGet - ✅ PDF viewer
VLC WinGet - ✅ Media
Network/Remote Rufus WinGet ✅ - USB tools
Ventoy WinGet ✅ - Multi-boot
VirtualBox WinGet - ✅ VM testing
Security KeePassXC Portable ✅ - Password manager

ODIS & XENTRY Total: 25 applications (21 core, 4 optional)
Note: OEM ODIS, XENTRY, and diagnostic tools installed manually per vendor licensing


3.2.3 PIWIS & ISTA Profile

Primary Use Cases: BMW and Porsche diagnostics, OEM tool integration, vehicle-specific procedures

Category Application Install Type Core Optional Reason
Development Git WinGet ✅ - Version control
Python 3.13 WinGet ✅ - Scripting
Visual Studio Code WinGet ✅ - Editor
PowerShell 7 WinGet ✅ - Scripting
Windows Terminal WinGet ✅ - Console
Utilities 7-Zip WinGet ✅ - Archive
Everything WinGet ✅ - File search
WinMerge Portable ✅ - File diff
Notepad++ WinGet ✅ - Config editing
Wireshark WinGet ✅ - Network analysis
PuTTY WinGet ✅ - SSH/serial
WinSCP WinGet ✅ - SFTP
System CrystalDiskInfo WinGet ✅ - Disk health
CPU-Z / GPU-Z WinGet ✅ - Hardware
Sysinternals Suite Portable ✅ - Diagnostics
PowerToys WinGet ✅ - Utilities
Database DB Browser SQLite Portable ✅ - Database inspection
Scripting jq, yq, rg, fd Portable ✅ - CLI tools
Media/Browser Chrome (Portable) Portable ✅ - Browser
SumatraPDF WinGet - ✅ PDF viewer
VLC WinGet - ✅ Media
Network Rufus WinGet ✅ - USB tools
Ventoy WinGet ✅ - Multi-boot
VirtualBox WinGet - ✅ VM testing
Security KeePassXC Portable ✅ - Password manager

PIWIS & ISTA Total: 25 applications (21 core, 4 optional)
Note: OEM PIWIS, ISTA, and diagnostic tools installed manually per vendor licensing


3.3 APPLICATION REMOVAL & CONSOLIDATION

3.3.1 Remove Duplicates

  • HxD: Remove from WinGet core, keep portable only (1 less WinGet dependency)
  • Notepad++: Remove from WinGet core, keep portable only (option; currently both)
  • Rufus: Remove from WinGet core, keep portable only (option; lightweight)
  • Ventoy: Keep both (WinGet for ease, portable for dependency-free use)
  • PuTTY: Remove from WinGet core, keep portable only (option)

Rationale: Portable versions avoid system dependencies, work across profiles, easier to update

3.3.2 Conflicts to Avoid

  • HxD vs. WinHex: Both hex editors; keep both (different strengths)
    • HxD: Free, portable, feature-rich
    • WinHex: Commercial (keep license-aware in notes)
  • Ghidra vs. Radare2: Both reverse engineering frameworks
    • Keep Ghidra as core (NSA-backed, widely used)
    • Radare2 as optional alternative
  • SavvyCAN vs. BUSMASTER: Both CAN analysis
    • Recommend SavvyCAN (actively maintained GitHub)
    • BUSMASTER as alternative if needed
  • Wireshark vs. custom CAN tools: Keep Wireshark (multi-protocol)

3.4 APPLICATION CATALOG JSON STRUCTURE

Each application will include:

  • Id: Unique identifier (auto-generated if needed)
  • Name, Category, Description
  • InstallationType: WinGet | Portable | Exe | Manual
  • SourceType: WinGet | GitHub | Direct | ChromeForTesting
  • WinGet/Portable/GitHub specs:
    • PackageId, Uri, Repository, AssetRegex, etc.
  • Validation:
    • MinimumBytes, ExpectedPublisher, SignatureRequired, SHA256
  • Profiles: AllowList/DenyList
  • Versioning: Policy (Latest/Stable/Pinned), MinVersion, PinnedVersion
  • Dependencies, Conflicts
  • Features: Portable, Shortcut, PATHEligible, Etc.
  • License, Metadata, AutomotiveUseCase

3.5 SUMMARY OF RECOMMENDATIONS

Changes to Implement

  1. Remove app duplication (HxD from WinGet, etc.)
  2. Add profile-specific filtering (AllowList/DenyList)
  3. Add new applications: SavvyCAN, Binwalk (for DailyTech)
  4. Move Windows Terminal to Core (all profiles)
  5. Tighten GitHub regexes (eliminate ambiguity)
  6. Add version management (pinned versions for stability)
  7. Add VS Code extension additions (remote-ssh, etc.)

ApplicationCount Summary

Profile Core Optional Total
DailyTech & Tuning 22 17 39
ODIS & XENTRY 21 4 25
PIWIS & ISTA 21 4 25
Shared (All) ~20 core across profiles ~5 optional ~65 unique

Quality Improvements

  • ✅ Eliminate duplicates
  • ✅ Profile-specific installation
  • ✅ Version management
  • ✅ Better validation
  • ✅ Documented trade-offs
  • ✅ Justified additions
  • ✅ Clear dependency relationships

Next Phase: Phase 4 will define Windows settings per profile using this application foundation.