CMM per-bay PC-DMIS version selection + DODA deploy
Add bay picker (same arrow-key pattern as waxtrace) that maps CMM1-12
to a PC-DMIS version (2016/2019/2026) and DODA flag via cmm-bay-config.csv.
startnet.cmd: replace Standard/DODA submenu with bay picker. Writes
CMMID (e.g. CMM4) to machine-number.txt so the existing
TargetMachineNumbers filter on the SFLD share manifest gates per-bay
entries with no lib changes.
09-Setup-CMM: reads resolved version.txt and filters cmm-manifest.json
by _CmmVersion tag at imaging time so only the matched PC-DMIS version
installs.
cmm-manifest.json: add PC-DMIS 2026.1 entry (patched MSI, product code
{81BACE1B-FB08-4DCF-8100-79911AD3EC1E}) and DODA entry (flat zip extract
to C:\Apps\DODA\). Existing 2016/2019 entries tagged with _CmmVersion.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -114,18 +114,32 @@ goto enroll_menu
|
||||
cls
|
||||
echo.
|
||||
echo ========================================
|
||||
echo CMM Variant
|
||||
echo CMM Bay Selection
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 1. Standard PC-DMIS 2016/2019 R2 + CLM + goCMM + Protect Viewer
|
||||
echo 2. With DODA Standard set plus DODA shopfloor add-on
|
||||
echo Loading CMM bay list from PXE share...
|
||||
REM Mount enrollment share early so the picker can read the CSV.
|
||||
net use Y: \\172.16.9.1\enrollment /user:pxe-upload pxe /persistent:no >NUL 2>NUL
|
||||
del X:\cmm-bay.txt 2>NUL
|
||||
set CMMID=
|
||||
set CMMVARIANT=standard
|
||||
if not exist "Y:\installers-post\cmm\select-cmm-bay.ps1" goto cmm_picker_skip
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "Y:\installers-post\cmm\select-cmm-bay.ps1" -ConfigPath "Y:\installers-post\cmm\cmm-bay-config.csv" -OutFile "X:\cmm-bay.txt"
|
||||
:cmm_picker_skip
|
||||
if exist X:\cmm-bay.txt set /p CMMID=<X:\cmm-bay.txt
|
||||
if not "%CMMID%"=="" goto cmm_have_bay
|
||||
echo.
|
||||
set CMMVARIANT=
|
||||
set /p cmm_choice=Enter your choice (1-2):
|
||||
if "%cmm_choice%"=="1" set CMMVARIANT=standard
|
||||
if "%cmm_choice%"=="2" set CMMVARIANT=doda
|
||||
if "%CMMVARIANT%"=="" goto cmm_submenu
|
||||
echo CMM variant: %CMMVARIANT%
|
||||
echo Picker unavailable or cancelled. Falling back to manual entry.
|
||||
set /p CMMID=Enter CMM ID (e.g. CMM1):
|
||||
:cmm_have_bay
|
||||
if "%CMMID%"=="" (
|
||||
echo WARNING: no CMM ID entered. Defaulting to standard variant.
|
||||
goto enroll_menu
|
||||
)
|
||||
echo CMM bay: %CMMID%
|
||||
REM Resolve bay config (writes version.txt + doda.txt to W:\Enrollment\cmm\
|
||||
REM after W: appears). Resolution deferred to after imaging starts - store
|
||||
REM the CMMID for now and resolve in the post-imaging copy block below.
|
||||
goto enroll_menu
|
||||
|
||||
:display_submenu
|
||||
@@ -199,6 +213,7 @@ set MACHINENUM=9999
|
||||
if /i "%PCTYPE%"=="gea-shopfloor-collections" goto prompt_machinenum
|
||||
if /i "%PCTYPE%"=="gea-shopfloor-nocollections" goto prompt_machinenum
|
||||
if /i "%PCTYPE%"=="gea-shopfloor-waxtrace" goto prompt_waxtrace_asset
|
||||
if /i "%PCTYPE%"=="gea-shopfloor-cmm" goto skip_machinenum
|
||||
goto skip_machinenum
|
||||
:prompt_machinenum
|
||||
echo.
|
||||
@@ -391,9 +406,23 @@ if not "%KEYENCEMODEL%"=="" (
|
||||
echo %KEYENCEMODEL%> W:\Enrollment\keyence-model.txt
|
||||
echo %KEYENCEMODEL%> W:\Enrollment\pc-subtype.txt
|
||||
)
|
||||
REM CMM variant goes to pc-subtype.txt (read by 09-Setup-CMM and the
|
||||
REM Install-FromManifest PCTypes filter to gate the DODA app entry).
|
||||
if not "%CMMVARIANT%"=="" echo %CMMVARIANT%> W:\Enrollment\pc-subtype.txt
|
||||
REM CMM bay ID + resolved config. CMMID comes from the bay picker (e.g. CMM4).
|
||||
REM Written to machine-number.txt (same field collections/waxtrace use) so
|
||||
REM TargetMachineNumbers on the SFLD share manifest gates per-bay entries.
|
||||
REM resolve-cmm-bay-config.ps1 reads the CSV and writes version.txt + doda.txt
|
||||
REM to W:\Enrollment\cmm\ for 09-Setup-CMM.ps1 to consume.
|
||||
if "%CMMID%"=="" goto cmm_id_done
|
||||
echo %CMMID%> W:\Enrollment\machine-number.txt
|
||||
mkdir W:\Enrollment\cmm 2>NUL
|
||||
if exist "Y:\installers-post\cmm\resolve-cmm-bay-config.ps1" (
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "Y:\installers-post\cmm\resolve-cmm-bay-config.ps1" -ConfigPath "Y:\installers-post\cmm\cmm-bay-config.csv" -CmmId "%CMMID%" -OutDir "W:\Enrollment\cmm"
|
||||
)
|
||||
REM Read doda flag to set pc-subtype.txt for GE-Enforce manifest gating.
|
||||
REM goto-flow avoids CMD variable scoping issues inside parens blocks.
|
||||
if not exist W:\Enrollment\cmm\doda.txt goto cmm_id_done
|
||||
set /p CMMDODA=<W:\Enrollment\cmm\doda.txt
|
||||
if /i "%CMMDODA%"=="yes" echo doda> W:\Enrollment\pc-subtype.txt
|
||||
:cmm_id_done
|
||||
copy /Y "Y:\shopfloor-setup\Run-ShopfloorSetup.ps1" "W:\Enrollment\Run-ShopfloorSetup.ps1"
|
||||
REM --- Always copy Shopfloor baseline scripts ---
|
||||
mkdir W:\Enrollment\shopfloor-setup 2>NUL
|
||||
|
||||
Reference in New Issue
Block a user