Files
Workstation-Setup/IMPROVEMENT-REPORT.md
2026-09-28 17:39:45 -07:00

4.9 KiB

Workstation Setup Improvement Report

Architecture Review

Critical Issues Resolved

  • X-Ways.WinHex was removed from the WinGet catalog after its manifest hash repeatedly diverged from the vendor archive. WinHex is now installed from the official portable ZIP using rollback validation and a recorded SHA256 hash.
  • Profile path construction no longer resolves unavailable S: or P: drives during startup. -HealthCheck can now report absent shared volumes instead of failing before diagnostics run.

Major Issues Resolved

  • Application, folder, shortcut, workstation profile, and Xhorse resource definitions moved from executable code to the seven version-controlled JSON files in Config.
  • The VS Code extension inventory now always returns an array under strict mode.
  • Portable downloads use a shared retry, timeout, resume (curl), size validation, and SHA256 manifest-recording path.
  • Setup outcomes are captured in structured events and exported in CSV, JSON, and HTML.

Minor Issues Resolved

  • Removed legacy Win1/Win2/Win3 workspace assumptions in favor of the three named workstation profiles.
  • Unified the generic portable executable and archive transfer behavior.
  • Added optional PowerShell transcripts.
  • Disabled USB selective suspend on AC and DC for the active power scheme, then reactivated that scheme. This prevents Windows power management from suspending a connected diagnostic interface during an authorized session.
  • Multi-PROG documentation downloads now use automotive-resources.json, and the duplicate portable CLI PATH update was removed.

Revalidation Results (2026-09-06)

  • PowerShell parser validation completed without errors.
  • All seven JSON configuration files completed ConvertFrom-Json validation.
  • The installer catalog correctly separates portable utilities from licensed/OEM applications and launches vendor installers interactively.
  • USB selective-suspend guidance is now backed by an executed configuration step; hibernation remains disabled.
  • No live vendor downloads, hardware drivers, or vehicle communication tests were executed during this source revalidation. Those require the intended Windows installation, approved interface, and authorized bench or vehicle.

Configuration Model

File Purpose
apps-core.json Required WinGet applications
apps-optional.json Optional WinGet apps and VS Code extensions
portable-apps.json Direct and GitHub portable applications
folder-structure.json Local, shared-data, and shared-portable folder layout
shortcuts.json Folder, Sysinternals, and automotive-tool shortcut metadata
workstation-profiles.json Named isolated workstation roles
automotive-resources.json Xhorse, MVCI PRO, Autel, manuals, installers, and automotive references

Operational Modes

.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'DailyTech & Tuning'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'ODIS & XENTRY'
.\Automotive-Workstation-Setup.ps1 -WorkstationProfile 'PIWIS & ISTA'
.\Automotive-Workstation-Setup.ps1 -HealthCheck
.\Automotive-Workstation-Setup.ps1 -BackupConfiguration
.\Automotive-Workstation-Setup.ps1 -RestoreConfiguration

All original parameters remain available. With no new mode switch, normal setup behavior continues.

Reporting and Audit Artifacts

  • P:\Manifests\Hashes: SHA256 records for managed portable downloads; falls back to C:\Automotive\Config\Manifests\Hashes when P: is unavailable.
  • P:\Manifests\Inventory: health, setup, installed software, portable app, VS Code extension, driver, USB device, disk, environment, and service CSV outputs.
  • Health and setup reports are also written as HTML and JSON.
  • P:\Automotive\Backups\Workstation: ZIP configuration backups; falls back to local C:\Automotive\Backups\Workstation.

Automotive Workstation Layout

Each isolated Windows installation uses only local C:\Automotive, shared data S: (AUTO_DATA), and shared portable content P: (PORTABLE_APPS). Profile-specific locations are:

  • S:\Automotive\Workstations\<profile>
  • P:\PortableApps\Config\<profile>
  • P:\Install\<profile>

Commercial tool folders and backups are created for MultiPROG, WinOLS, StageX, Flex, PCMFlash, HxD, Ghidra, ImHex, SavvyCAN, and BusMaster. Licensed applications are never downloaded automatically.

Optimization Summary

  • GitHub lookup and app installation are skipped after expected executable validation.
  • Download retries avoid immediate full-run failure for transient network faults.
  • curl-backed downloads resume partial archives.
  • Shared helper functions concentrate audit, error-handling, recovery, and transfer logic for targeted future testing.

Parallel download execution is deliberately not enabled: the current script updates shared logs, result lists, and common target volumes. Parallelizing it without process-safe state management would reduce reliability.