Files
pxe-server/playbook/shopfloor-setup/gea-shopfloor-waxtrace/waxtrace-manifest.json
cproudlock 5891a1966f Wax/Trace: heal 218-378-13 cal disc filename bug + VC++ 2017 + picker
09-Setup-WaxAndTrace.ps1 Step 3:
- Detect Mitutoyo's burn-time typo on 218-378-13 series cal discs
  (filenames carry a trailing space inside the probe ID component,
  e.g. "Linear_X_218-378-13 _100072210.txt"). Their own .NET Setup.exe
  calls FileSystemInfo.set_Attributes on the source path and throws
  System.ArgumentException because the path contains an embedded space
  component, crashing every cal apply on 218-378-13 bays (exit
  -532462766 = 0xE0434352, .NET unhandled exception). Confirmed via
  WER Event 1026 captured during today's WJF00159 imaging.
- When the buggy filenames are detected, bypass the broken vendor
  Setup.exe and direct-copy data\*.* into
  C:\Program Files (x86)\MitutoyoApp\Formtracepak\data\, renaming
  each file to strip ' _' (space-underscore) -> '_'. Clear read-only
  attr on each landed file. Older 218-458A discs have clean filenames
  and still use the vendor Setup.exe path.

waxtrace-manifest.json:
- Drop DetectionValue=v14.15.26706 from both VC++ 2017 redist entries.
  Windows Update routinely bumps the VS14 runtime to 14.16+ / 14.3x+,
  the older Mitutoyo redist refuses to install over the newer (exit
  1638 'Another version already installed') and the manifest engine
  marked it as failed even though the runtime was fine. Detection is
  now by registry-key+name presence, which any VC++ 2015-2022 redist
  satisfies (they are backward-compatible).

startnet.cmd:prompt_waxtrace_asset:
- Replace free-text input with select-waxtrace-asset.ps1 arrow-key
  picker driven from installers-post/waxtrace/calibrations/INDEX.csv.
- Map Y: enrollment share early so the picker can read INDEX.csv.
- Replace parens-in-parens block (echo of '(e.g. WJRP2335)' inside
  the if-paren caused 'to was unexpected at this time' parse error
  observed by tech mid-imaging) with goto-flow.
- Fall back to free-text prompt if picker unavailable or operator
  presses Esc.

select-waxtrace-asset.ps1:
- Sort bays descending by asset tag so WJRP* lands at top of menu.
- Also staged as gea-shopfloor-waxtrace/select-waxtrace-asset.ps1 so
  sync-waxtrace.sh ships it to installers-post/waxtrace/ on the share.

sync-waxtrace.sh:
- Push select-waxtrace-asset.ps1 next to INDEX.csv on the share.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 19:38:19 -04:00

60 lines
3.8 KiB
JSON

{
"Version": "2.0",
"_comment": "Wax/Trace (Mitutoyo FormTracePak v6.0) imaging-time prereq manifest. Consumed by 09-Setup-WaxAndTrace.ps1 reading from C:\\WaxTrace-Install\\. Covers BOTH CV-3000/4000 and SV-C3000/4000 series bays since the master install merges them. Does NOT run Mitutoyo's appSetup.exe / Setup.exe wrappers - those are CD-ROM-bound + dongle-gated + unreliable on Win11. The actual FormTracePak install replay (Program Files xcopy + HKLM reg import) is handled by 09-Setup-WaxAndTrace.ps1 directly, after this manifest installs the prereqs.",
"Applications": [
{
"_comment": "Visual C++ 2008 x86 redist. Mitutoyo's vcredist_x86.exe (2008 SP1 vintage) at Lang\\English\\ on the FormTracePak ISO. /q is the 2005-era silent flag still supported by 2008 redist EXEs.",
"Name": "Microsoft Visual C++ 2008 Redistributable - x86",
"Installer": "prereqs\\vcredist_x86.exe",
"Type": "EXE",
"InstallArgs": "/q",
"DetectionMethod": "Registry",
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{9BE518E6-ECC6-35A9-88E4-87755C07200F}",
"DetectionName": "DisplayVersion",
"DetectionValue": "9.0.30729"
},
{
"_comment": "Visual C++ 2008 x64 redist.",
"Name": "Microsoft Visual C++ 2008 Redistributable - x64",
"Installer": "prereqs\\vcredist_x64.exe",
"Type": "EXE",
"InstallArgs": "/q",
"DetectionMethod": "Registry",
"DetectionPath": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{8220EEFE-38CD-377E-8595-13398D740ACE}",
"DetectionName": "DisplayVersion",
"DetectionValue": "9.0.21022"
},
{
"_comment": "Visual C++ 2017 x86 redist (Mitutoyo ships 14.15.26706 = VS2017 Update 7 era). Detection by key+name presence only, NOT exact version: Windows Update or other software routinely bumps VS14 runtime to 14.16+ or 14.3x+, and the older Mitutoyo redist refuses to install over the newer (exits non-zero) which the engine then marks as failed even though the runtime is fine. All VS14 / VC++ 2015-2022 redists are backward-compatible so any installed version satisfies FormTracePak.",
"Name": "Microsoft Visual C++ 2017 Redistributable (x86)",
"Installer": "prereqs\\vc_redist.x86.exe",
"Type": "EXE",
"InstallArgs": "/quiet /norestart",
"DetectionMethod": "Registry",
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\VisualStudio\\14.0\\VC\\Runtimes\\x86",
"DetectionName": "Version"
},
{
"_comment": "Visual C++ 2017 x64 redist. Same key+name-presence detection as x86 (see comment above).",
"Name": "Microsoft Visual C++ 2017 Redistributable (x64)",
"Installer": "prereqs\\vc_redist.x64.exe",
"Type": "EXE",
"InstallArgs": "/quiet /norestart",
"DetectionMethod": "Registry",
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\VisualStudio\\14.0\\VC\\Runtimes\\x64",
"DetectionName": "Version"
},
{
"_comment": "Sentinel Runtime / HASP USB dongle driver from Gemalto (now Thales). Vintage 2019 InstallShield wrapper, classic InstallShield silent install via /s + nested /v args. FormTracePak licensing is dongle-bound; the runtime + drivers must be present before Formtracepak.exe will run. Tech inserts physical HASP USB dongle on the bay post-imaging to license.",
"Name": "Sentinel Runtime (HASP)",
"Installer": "prereqs\\HASPUserSetup.exe",
"Type": "EXE",
"InstallArgs": "/s /v/qn /v/norestart",
"DetectionMethod": "Registry",
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{C8903CCB-67B6-4801-AA7B-B4E54E2B8406}",
"DetectionName": "DisplayVersion",
"DetectionValue": "7.92.28470.60000"
}
]
}