eDNC: default to single shared installer (C:\PreInstall\installers\dnc\eDNC-6.4.7.msi)

01-eDNC.ps1 (all 4 DNC types) now installs eDNC from the shared pre-install copy
staged by startnet.cmd to C:\PreInstall\installers\dnc - one source of truth
(currently 6.4.7) instead of a per-type bundled msi. Falls back to the per-type
eDNC\ folder when the shared copy is absent (older images). eMxInfo.txt, the
x86->64 mirror, and Site/MachineNo registry steps are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-06-05 10:45:24 -04:00
parent e844ff367c
commit 1e6603d331
4 changed files with 52 additions and 20 deletions

View File

@@ -45,11 +45,19 @@ if (-not (Test-Path $edncDir)) {
} }
# --- Find installer --- # --- Find installer ---
# Filter is eDNC*.msi (no dash) so we match both vendor naming styles: # Default DNC install is the single shared copy staged by startnet.cmd to
# eDNC-6.4.3.msi (dash) and eDNC_6-4-5.msi (underscore). Imaging dir should # C:\PreInstall\installers\dnc (currently eDNC-6.4.7.msi) - one source of truth
# only contain ONE version at a time; rollback to a prior version is handled # across every DNC pc-type instead of a per-type msi. Fall back to the per-type
# post-imaging via the SFLD share's standard-machine/apps/ alternates. # eDNC\ folder for older images that still bundle their own. Filter is eDNC*.msi
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" | Select-Object -First 1 # (no dash) so both vendor naming styles match: eDNC-6.4.7.msi and eDNC_6-4-5.msi.
$sharedDncDir = 'C:\PreInstall\installers\dnc'
$edncMsi = Get-ChildItem -Path $sharedDncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) {
Write-Host "Using shared DNC installer: $($edncMsi.FullName)"
} else {
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) { Write-Host "Shared DNC installer not found - falling back to per-type: $($edncMsi.FullName)" }
}
$emxInfo = Join-Path $edncDir "eMxInfo.txt" $emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC --- # --- 1. Install eDNC ---

View File

@@ -45,11 +45,19 @@ if (-not (Test-Path $edncDir)) {
} }
# --- Find installer --- # --- Find installer ---
# Filter is eDNC*.msi (no dash) so we match both vendor naming styles: # Default DNC install is the single shared copy staged by startnet.cmd to
# eDNC-6.4.3.msi (dash) and eDNC_6-4-5.msi (underscore). Imaging dir should # C:\PreInstall\installers\dnc (currently eDNC-6.4.7.msi) - one source of truth
# only contain ONE version at a time; rollback to a prior version is handled # across every DNC pc-type instead of a per-type msi. Fall back to the per-type
# post-imaging via the SFLD share's standard-machine/apps/ alternates. # eDNC\ folder for older images that still bundle their own. Filter is eDNC*.msi
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" | Select-Object -First 1 # (no dash) so both vendor naming styles match: eDNC-6.4.7.msi and eDNC_6-4-5.msi.
$sharedDncDir = 'C:\PreInstall\installers\dnc'
$edncMsi = Get-ChildItem -Path $sharedDncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) {
Write-Host "Using shared DNC installer: $($edncMsi.FullName)"
} else {
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) { Write-Host "Shared DNC installer not found - falling back to per-type: $($edncMsi.FullName)" }
}
$emxInfo = Join-Path $edncDir "eMxInfo.txt" $emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC --- # --- 1. Install eDNC ---

View File

@@ -45,11 +45,19 @@ if (-not (Test-Path $edncDir)) {
} }
# --- Find installer --- # --- Find installer ---
# Filter is eDNC*.msi (no dash) so we match both vendor naming styles: # Default DNC install is the single shared copy staged by startnet.cmd to
# eDNC-6.4.3.msi (dash) and eDNC_6-4-5.msi (underscore). Imaging dir should # C:\PreInstall\installers\dnc (currently eDNC-6.4.7.msi) - one source of truth
# only contain ONE version at a time; rollback to a prior version is handled # across every DNC pc-type instead of a per-type msi. Fall back to the per-type
# post-imaging via the SFLD share's standard-machine/apps/ alternates. # eDNC\ folder for older images that still bundle their own. Filter is eDNC*.msi
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" | Select-Object -First 1 # (no dash) so both vendor naming styles match: eDNC-6.4.7.msi and eDNC_6-4-5.msi.
$sharedDncDir = 'C:\PreInstall\installers\dnc'
$edncMsi = Get-ChildItem -Path $sharedDncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) {
Write-Host "Using shared DNC installer: $($edncMsi.FullName)"
} else {
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) { Write-Host "Shared DNC installer not found - falling back to per-type: $($edncMsi.FullName)" }
}
$emxInfo = Join-Path $edncDir "eMxInfo.txt" $emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC --- # --- 1. Install eDNC ---

View File

@@ -45,11 +45,19 @@ if (-not (Test-Path $edncDir)) {
} }
# --- Find installer --- # --- Find installer ---
# Filter is eDNC*.msi (no dash) so we match both vendor naming styles: # Default DNC install is the single shared copy staged by startnet.cmd to
# eDNC-6.4.3.msi (dash) and eDNC_6-4-5.msi (underscore). Imaging dir should # C:\PreInstall\installers\dnc (currently eDNC-6.4.7.msi) - one source of truth
# only contain ONE version at a time; rollback to a prior version is handled # across every DNC pc-type instead of a per-type msi. Fall back to the per-type
# post-imaging via the SFLD share's standard-machine/apps/ alternates. # eDNC\ folder for older images that still bundle their own. Filter is eDNC*.msi
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" | Select-Object -First 1 # (no dash) so both vendor naming styles match: eDNC-6.4.7.msi and eDNC_6-4-5.msi.
$sharedDncDir = 'C:\PreInstall\installers\dnc'
$edncMsi = Get-ChildItem -Path $sharedDncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) {
Write-Host "Using shared DNC installer: $($edncMsi.FullName)"
} else {
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" -ErrorAction SilentlyContinue | Select-Object -First 1
if ($edncMsi) { Write-Host "Shared DNC installer not found - falling back to per-type: $($edncMsi.FullName)" }
}
$emxInfo = Join-Path $edncDir "eMxInfo.txt" $emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC --- # --- 1. Install eDNC ---