From 1d3f21f8148b1af05fbdd50b6b83196ef47dc9e3 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Wed, 13 May 2026 09:36:52 -0400 Subject: [PATCH] keyence: document Data1.cab staging requirement, gitignore the 560 MB cab VR-6000 Series Software.msi is an InstallShield MSI that references Data1.cab in the same directory for its compressed payload. The cab was never staged into the repo's keyence installers/ dir, so msiexec exited 1603 with "SECREPAIR: Failed to open the file ... Data1.cab" on every imaging run (see Logs/Keyence/install.log on a failed bay for the canonical signature). Only the 1.75 MB MSI was committed; the 560 MB cab lives on the GE-Enforce SFLD share at tsgwp00525\sfld$\v2\shared\dt\shopfloor\gea-shopfloor-keyence\apps\. This commit doesn't add the cab itself (560 MB; same gitignore convention as PrinterInstallerMap.exe and other large binaries). Instead it pins the staging requirement in two places: * .gitignore: explicit entry with the SFLD share path so a future operator wiring up a fresh PXE server build knows where to source it. * keyence-manifest.json _comment: documents the dependency next to the MSI declaration that needs it. The local repo at /home/camp/projects/pxe now has the cab staged in playbook/shopfloor-setup/gea-shopfloor-keyence/installers/ for the next USB build. Rebuilding the Keyence image and re-imaging the failed bay should now reach DisplayVersion 4.3.7 detection successfully. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 10 ++++++++++ .../gea-shopfloor-keyence/keyence-manifest.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ee652d6..36d8abc 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,13 @@ credentials.json # Pre-staged binary (142 MB) - track via LFS or stage on PXE server, not in regular git playbook/shopfloor-setup/Shopfloor/PrinterInstallerMap.exe + +# Keyence VR-6000 InstallShield payload (560 MB). InstallShield MSIs split +# the compressed payload into Data1.cab; without it next to the MSI, msiexec +# exits 1603 with "SECREPAIR: Failed to open Data1.cab" (see +# /home/camp/pxe-images/keyence/Logs/Keyence/install.log for the signature). +# Canonical source on the GE-Enforce SFLD share: +# tsgwp00525\sfld$\v2\shared\dt\shopfloor\gea-shopfloor-keyence\apps\Data1.cab +# Stage to playbook/shopfloor-setup/gea-shopfloor-keyence/installers/Data1.cab +# before building the USB image. +playbook/shopfloor-setup/gea-shopfloor-keyence/installers/Data1.cab diff --git a/playbook/shopfloor-setup/gea-shopfloor-keyence/keyence-manifest.json b/playbook/shopfloor-setup/gea-shopfloor-keyence/keyence-manifest.json index 4853ed0..bcd4732 100644 --- a/playbook/shopfloor-setup/gea-shopfloor-keyence/keyence-manifest.json +++ b/playbook/shopfloor-setup/gea-shopfloor-keyence/keyence-manifest.json @@ -3,7 +3,7 @@ "_comment": "Keyence machine-app manifest, imaging-time only. Consumed by 09-Setup-Keyence.ps1, reading from the in-repo shopfloor-setup/Keyence/ dir xcopied by startnet.cmd. Ongoing enforcement is handled separately by GE-Enforce reading keyence/manifest.json from the tsgwp00525 share. Each entry has an InstallerRoot-relative 'Installer' path plus standard detection. The 'Type' field is MSI, EXE, or INF: INF invokes pnputil /add-driver /install. When releasing a new VR-6000 version, update the Installer path + DetectionValue here AND on the share manifest.", "Applications": [ { - "_comment": "VR-6000 Series Software - main Keyence microscope/profilometer control app. Extracted from Keyence6000.exe (Inno Setup wrapper around an InstallShield 2019 MSI). Silent install works fine with /qn + REBOOT=ReallySuppress as long as you bypass the Inno wrapper - the wrapper's [Run] entry calls the bundled InstallShield Setup.exe without silent flags which hangs in session 0.", + "_comment": "VR-6000 Series Software - main Keyence microscope/profilometer control app. Extracted from Keyence6000.exe (Inno Setup wrapper around an InstallShield 2019 MSI). Silent install works fine with /qn + REBOOT=ReallySuppress as long as you bypass the Inno wrapper - the wrapper's [Run] entry calls the bundled InstallShield Setup.exe without silent flags which hangs in session 0. The MSI references Data1.cab (560 MB compressed payload) in the same directory; that cab is gitignored. Stage from tsgwp00525\\sfld$\\v2\\shared\\dt\\shopfloor\\gea-shopfloor-keyence\\apps\\Data1.cab into installers/ before building the USB. Missing cab = msiexec exit 1603 with 'SECREPAIR: Failed to open ... Data1.cab' in the verbose MSI log.", "Name": "VR-6000 Series Software", "Installer": "installers\\VR-6000 Series Software.msi", "Type": "MSI",