4.9 KiB
4.9 KiB
Workstation Setup Improvement Report
Architecture Review
Critical Issues Resolved
X-Ways.WinHexwas 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:orP:drives during startup.-HealthCheckcan 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 CLIPATHupdate was removed.
Revalidation Results (2026-09-06)
- PowerShell parser validation completed without errors.
- All seven JSON configuration files completed
ConvertFrom-Jsonvalidation. - 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 toC:\Automotive\Config\Manifests\HasheswhenP: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 localC:\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.