podprobe: run-compatibility verdict + XP-safe .bat fallback
The crash cart may BE the period pod PC (that is where NVIDIA Horizontal Span still exists), in which case the first question is not the display map but whether btl4.exe can launch at all -- a modern MSVC toolset needs Win7 SP1+. The probe now states the verdict outright, and podprobe.bat covers the case where PowerShell/.NET is not present to run the probe in the first place (wmic + dxdiag, both XP-era tools). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
67a4f09e86
commit
38b08c96d1
@@ -0,0 +1,46 @@
|
||||
@echo off
|
||||
REM podprobe.bat -- XP-SAFE fallback probe for the pod / crash cart.
|
||||
REM
|
||||
REM Use this when tools\podprobe.ps1 will not run (no PowerShell, or an
|
||||
REM XP/2003-era box where .NET/PS is absent). Uses only tools that shipped
|
||||
REM with Windows XP. Writes podprobe_bat.txt next to itself.
|
||||
REM
|
||||
REM podprobe.bat
|
||||
REM
|
||||
REM It answers the first question that matters: WHAT IS THIS MACHINE, and can
|
||||
REM our build run on it at all? (Modern MSVC toolset => Windows 7 SP1+.)
|
||||
|
||||
setlocal
|
||||
set OUT=%~dp0podprobe_bat.txt
|
||||
echo ==================== BT411 POD PROBE (bat fallback) ====================> "%OUT%"
|
||||
echo host: %COMPUTERNAME% session: %SESSIONNAME%>> "%OUT%"
|
||||
date /t >> "%OUT%"
|
||||
time /t >> "%OUT%"
|
||||
echo.>> "%OUT%"
|
||||
|
||||
echo ---- OS ---->> "%OUT%"
|
||||
ver >> "%OUT%"
|
||||
wmic os get Caption,Version,BuildNumber,OSArchitecture /format:list >> "%OUT%" 2>&1
|
||||
echo.>> "%OUT%"
|
||||
|
||||
echo ---- GPUs / drivers ---->> "%OUT%"
|
||||
wmic path Win32_VideoController get Name,DriverVersion,DriverDate,CurrentHorizontalResolution,CurrentVerticalResolution /format:list >> "%OUT%" 2>&1
|
||||
echo.>> "%OUT%"
|
||||
|
||||
echo ---- Monitors (attached) ---->> "%OUT%"
|
||||
wmic path Win32_DesktopMonitor get DeviceID,Name,ScreenWidth,ScreenHeight,Availability /format:list >> "%OUT%" 2>&1
|
||||
echo.>> "%OUT%"
|
||||
|
||||
echo ---- Serial ports (RIO board) ---->> "%OUT%"
|
||||
wmic path Win32_SerialPort get DeviceID,Name /format:list >> "%OUT%" 2>&1
|
||||
echo.>> "%OUT%"
|
||||
|
||||
echo ---- Full DirectX report (monitor rects, D3D caps) ---->> "%OUT%"
|
||||
echo (dxdiag is writing podprobe_dxdiag.txt -- may take ~30s)>> "%OUT%"
|
||||
dxdiag /whql:off /t "%~dp0podprobe_dxdiag.txt"
|
||||
|
||||
type "%OUT%"
|
||||
echo.
|
||||
echo Wrote %OUT%
|
||||
echo Wrote %~dp0podprobe_dxdiag.txt (send BOTH back)
|
||||
endlocal
|
||||
@@ -26,6 +26,25 @@ W ("when : {0}" -f (Get-Date -Format 'yyyy-MM-dd HH:mm:ss'))
|
||||
W ("windows : {0}" -f (Get-CimInstance Win32_OperatingSystem).Caption)
|
||||
W ""
|
||||
|
||||
W "---- WILL OUR BUILD EVEN RUN HERE? ----"
|
||||
try {
|
||||
$os = Get-CimInstance Win32_OperatingSystem
|
||||
$ver = [Version]$os.Version
|
||||
W (" OS version : {0} (build {1})" -f $os.Version, $os.BuildNumber)
|
||||
W (" architecture: {0}" -f $os.OSArchitecture)
|
||||
if ($ver.Major -lt 6) {
|
||||
W " *** STOP: this is Windows XP/2003-era. btl4.exe is built with a modern MSVC"
|
||||
W " toolset and WILL NOT LAUNCH here (CRT + API requirements). Options:"
|
||||
W " (a) put a newer Windows on the cart, or (b) rebuild with the v141_xp"
|
||||
W " toolset (VS2017), or (c) drive the panels from a modern PC instead."
|
||||
} elseif ($ver.Major -eq 6 -and $ver.Minor -lt 1) {
|
||||
W " *** WARNING: Vista-era. Untested; Win7 SP1+ is the practical minimum."
|
||||
} else {
|
||||
W " OK: modern enough for the current build."
|
||||
}
|
||||
} catch { W " (OS query failed: $_)" }
|
||||
W ""
|
||||
|
||||
W "---- GPUs ----"
|
||||
try {
|
||||
Get-CimInstance Win32_VideoController | ForEach-Object {
|
||||
|
||||
Reference in New Issue
Block a user