OpenText HostExplorer ShopFloor was previously delivered as an Intune Win32 LOB app that ran the inner OpenTextHostExplorer15x64.msi directly, which (a) skipped the [Files] section of the WJDT-built Inno Setup wrapper that deploys profile/keymap/menu/macro files, and (b) deployed desktop shortcuts pointing at C:\\GE Aerospace\\Hummingbird\\ - a path HostExplorer doesn't search, so the profile would open from the desktop shortcut but the keymaps and macros never got picked up. This commit moves the install to the PXE PreInstall pipeline so it gets baked into every Standard PC during imaging instead of being pulled per-device by Intune. The DSC side ships separately as Setup-OpenText.ps1 + Install-OpenText.ps1 wrapper in the pxe-images/main/ tree (uploaded to Azure Blob). preinstall.json: new entry for OpenText pointing at opentext\\Setup-OpenText.cmd, a tiny launcher in the bundled subtree that hands off to Setup-OpenText.ps1 (the runner only handles MSI/EXE types). No DetectionMethod fields - Setup-OpenText.ps1 reads version from version.txt next to itself and short-circuits via its own HKLM\\SOFTWARE\\GE\\OpenText\\Installed marker check, so the version constant lives in exactly one place (version.txt). Trade-off: ~1s PowerShell launch on every up-to-date runner pass instead of a zero-cost registry compare, in exchange for never having to bump the version in multiple places. sync-preinstall.sh: added dependencies/opentext to TREE_SUBDIRS so the whole bundle (base MSI + cab + SP1 patch + ShopFloor transform + profile/accessories/keymap/menu/W10shortcuts content + Setup-OpenText script and cmd wrapper + version.txt) rides through the existing tar pipe. Also added OpenText.exe to the legacy-cleanup rm list since the old flat machineapps/OpenText.exe path is now obsolete. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
112 lines
6.6 KiB
JSON
112 lines
6.6 KiB
JSON
{
|
|
"Version": "1.0",
|
|
"Site": "West Jefferson",
|
|
"Applications": [
|
|
{
|
|
"Name": "Oracle Client 10.2.0.3",
|
|
"Installer": "Oracle 10.2.0.3.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\ORACLE\\KEY_OraClientInfra10_2_0",
|
|
"DetectionName": "ORACLE_HOME_NAME",
|
|
"DetectionValue": "OraClientInfra10_2_0",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"_comment": "VC++ 2008 SP1 x86 - the bootstrapper (vcredist2008_x86.exe) ignores /norestart and triggers an immediate Windows reboot when files are in use (per Aaron Stebner's MSDN docs). Fix: install the extracted vc_red.msi directly with REBOOT=ReallySuppress, which IS hard-honored by Windows Installer. msiexec may return 3010 (would-have-rebooted-but-suppressed) but won't actually reboot. cab name 'vc_red.cab' is hardcoded in the MSI's Media table - do not rename.",
|
|
"Name": "VC++ Redistributable 2008 x86",
|
|
"Installer": "vcredist/2008/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{9BE518E6-ECC6-35A9-88E4-87755C07200F}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"_comment": "VC++ 2010 x86 - same fix as 2008. Bootstrapper ignores /norestart; extracted MSI with REBOOT=ReallySuppress does not.",
|
|
"Name": "VC++ Redistributable 2010 x86",
|
|
"Installer": "vcredist/2010/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"_comment": "VC++ 2012 x86 Minimum Runtime - extracted from vcredist2012_x86.exe Burn bundle. Same REBOOT=ReallySuppress fix.",
|
|
"Name": "VC++ Redistributable 2012 x86 (Minimum)",
|
|
"Installer": "vcredist/2012-min/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{BD95A8CD-1D9F-35AD-981A-3E7925026EBB}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"Name": "VC++ Redistributable 2012 x86 (Additional)",
|
|
"Installer": "vcredist/2012-add/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{B175520C-86A2-35A7-8619-86DC379688B9}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"_comment": "VC++ 2013 x86 Minimum Runtime - extracted from vcredist2013_x86.exe Burn bundle.",
|
|
"Name": "VC++ Redistributable 2013 x86 (Minimum)",
|
|
"Installer": "vcredist/2013-min/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"Name": "VC++ Redistributable 2013 x86 (Additional)",
|
|
"Installer": "vcredist/2013-add/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"_comment": "VC++ 2015-2022 x86 - extracted from vcredist2015_2017_2019_2022_x86.exe Burn bundle. The bundle contains 2022 14.44.35211 plus 8 chained KB updates for older 2015/2017/2019 releases. We install only the 2022 Min+Add MSIs - the CRT v140 ABI is shared across 2015/2017/2019/2022, so the latest pair covers all four versions on Windows 10/11.",
|
|
"Name": "VC++ Redistributable 2022 x86 (Minimum)",
|
|
"Installer": "vcredist/2022-min/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{922480B5-CAEB-4B1B-AAA4-9716EFDCE26B}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"Name": "VC++ Redistributable 2022 x86 (Additional)",
|
|
"Installer": "vcredist/2022-add/installer.msi",
|
|
"Type": "MSI",
|
|
"InstallArgs": "/qn /norestart REBOOT=ReallySuppress NOVSUI=1 USING_EXUIH_SILENT=1",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{C18FB403-1E88-43C8-AD8A-CED50F23DE8B}",
|
|
"PCTypes": ["*"]
|
|
},
|
|
{
|
|
"_comment": "OpenText HostExplorer 15 SP1 ShopFloor - replaced the WJDT-built OpenText.exe Inno wrapper with our own Setup-OpenText.ps1 that does the same install steps (msiexec base + ShopFloor.mst transform + SP1 .msp patch) PLUS fans the per-user profile/keymap/menu/macro content out to Default User and every existing user profile. The Inno wrapper deployed per-user content to {userappdata} which resolves to whichever user is running the installer (SYSTEM under DSC, single user under PreInstall) so Azure-AD users never saw the profiles. Setup-OpenText.cmd is a tiny launcher that hands off to Setup-OpenText.ps1 because the runner only handles MSI/EXE types. All bundled files live in vcredist-style subtree at dependencies/opentext/ and get xcopied through WinPE staging. NO DetectionMethod here on purpose - Setup-OpenText.ps1 owns its own version check by reading version.txt next to itself and comparing to HKLM:\\SOFTWARE\\GE\\OpenText\\Installed; the runner always invokes the wrapper (cost: ~1s of PowerShell launch when up-to-date) so the version constant lives in exactly one place: dependencies/opentext/version.txt.",
|
|
"Name": "OpenText HostExplorer ShopFloor",
|
|
"Installer": "opentext\\Setup-OpenText.cmd",
|
|
"Type": "EXE",
|
|
"InstallArgs": "",
|
|
"PCTypes": ["Standard"]
|
|
},
|
|
{
|
|
"Name": "UDC",
|
|
"Installer": "UDC_Setup.exe",
|
|
"Type": "EXE",
|
|
"InstallArgs": "\"West Jefferson\" 9999",
|
|
"DetectionMethod": "Registry",
|
|
"DetectionPath": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\UDC",
|
|
"PCTypes": ["Standard"]
|
|
}
|
|
]
|
|
}
|