From c2f7285090e40c3f58b8a208e5843ceda025c2d9 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Wed, 13 May 2026 12:16:13 -0400 Subject: [PATCH] keyence: patch VR-6000 MSI to disable dpinst CustomAction VM-test-confirmed root cause for the imaging "Setup wizard prompt" hang. The bundled MSI has CustomAction caDriverInstall_x64 that invokes dpinst.exe at install time: caDriverInstall_x64 type=3666 (exe, deferred) Source=dpinst.exe Condition: (Not Installed) And VersionNT64 And (VersionNT>=601) Sequence: 6505 The bundled dpinst.xml is minimal () - no directive - so dpinst pops its wizard and waits for operator click-through. /qn on the parent MSI does NOT propagate into the dpinst child process. pnputil pre-staging the INF + cert pre-trust to TrustedPublisher does NOT prevent the CA from firing (the CA runs unconditionally on first install regardless of DriverStore presence). Fix: msibuild patch the MSI's InstallExecuteSequence to set the action's Condition column from "(Not Installed) And VersionNT64 And (VersionNT>=601)" to "0" which evaluates false on every install attempt - the action never fires, dpinst never runs, no wizard pops. The driver itself is now installed exclusively by: 1. our pnputil pre-stage in 09-Setup-Keyence.ps1 (already there), 2. the manifest's separate "KEYENCE VR Series USB Driver" INF entry. End-to-end VM test: 36s, exit 0, VR-6000 DisplayVersion 4.3.7 detected, zero dpinst processes at finish. MSI size 1751552 -> 1744896 bytes (msibuild table rewrite). md5: c6edcfc6c6808617598bcb7a15072a30. Backups of original MSI on live PXE server enrollment share + local SFLD share mirror as .bak--orig. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../installers/VR-6000 Series Software.msi | Bin 1751552 -> 1744896 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/playbook/shopfloor-setup/gea-shopfloor-keyence/installers/VR-6000 Series Software.msi b/playbook/shopfloor-setup/gea-shopfloor-keyence/installers/VR-6000 Series Software.msi index eefc02cee3403d8d318d58b5046f393ae0439d5b..a6220cae9406c25c7bc349634c9c5b4f7eceeb3e 100644 GIT binary patch delta 7213 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 ZyfK0z-c}FtSl&@P1lcAj<>Vew{}1G8d6obG