Add Part Marker + HeatTreat shopfloor PC types (eDNC + vendor MSI)

New gea-shopfloor-partmarker type (startnet menu option 10) and fill the
gea-shopfloor-heattreat stub. Both follow the collections eDNC pattern:
01-eDNC.ps1 installs DNC, then a 02-Setup script installs the vendor MSI.

Part Marker (02-Setup-PartMarker.ps1):
- msiexec Mark-6.2.1.msi /qn /norestart LAUNCHNTLARS=false (the LaunchNtlars
  custom action otherwise fires under /qn and launches NTLARS mid-install,
  same as eDNC).
- After install: import WJPRT.reg rewritten to WOW6432Node (reg import does
  not honor /reg:32; DNC is 32-bit and reads the redirected hive), then copy
  the Mark overlay + eMxInfo.txt into C:\Program Files (x86)\Mark.

HeatTreat (02-Setup-HeatTreat.ps1):
- msiexec HeatTreat_6.2.1.msi /qn /norestart LAUNCHNTLARS=false. Existing
  09-Setup-Heattreat.ps1 (OpenText) still runs after. Optional .reg/file
  copy left as a marked TODO pending confirmation.

Both MSIs decompiled: WiX/GE Aviation, no forced reboot, only LaunchCondition
is NOT NEWERVERSIONDETECTED. utilpassword.txt is gitignored (secret, deployed
via the enrollment share from the working tree).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-06-01 10:59:45 -04:00
parent 69a1682a7f
commit 59b1a9fb65
31 changed files with 995 additions and 2 deletions

4
.gitignore vendored
View File

@@ -110,3 +110,7 @@ playbook/shopfloor-setup/gea-shopfloor-keyence/vr3000/installers/*.msi
playbook/shopfloor-setup/gea-shopfloor-keyence/vr5000/installers/Data*.cab playbook/shopfloor-setup/gea-shopfloor-keyence/vr5000/installers/Data*.cab
playbook/shopfloor-setup/gea-shopfloor-keyence/vr5000/installers/*.msi playbook/shopfloor-setup/gea-shopfloor-keyence/vr5000/installers/*.msi
playbook/shopfloor-setup/gea-shopfloor-keyence/vr6000/installers/Data1.cab playbook/shopfloor-setup/gea-shopfloor-keyence/vr6000/installers/Data1.cab
# Part Marker (Telesis) utility password - secret, deployed via the enrollment
# share from the working tree, never committed.
playbook/shopfloor-setup/gea-shopfloor-partmarker/PartMarker/Mark/utilpassword.txt

View File

@@ -0,0 +1,111 @@
# 01-eDNC.ps1 - Install eDNC and deploy custom eMxInfo.txt (Standard-Machine only)
# --- Transcript ---
$logDir = 'C:\Logs\SFLD'
if (-not (Test-Path $logDir)) { try { New-Item -ItemType Directory -Path $logDir -Force | Out-Null } catch {} }
try { Start-Transcript -Path (Join-Path $logDir '01-eDNC.log') -Append -Force | Out-Null } catch {}
# --- Skip on Timeclock sub-type ---
$subtypeFile = 'C:\Enrollment\pc-subtype.txt'
if (Test-Path $subtypeFile) {
$subtype = (Get-Content $subtypeFile -First 1 -ErrorAction SilentlyContinue).Trim()
if ($subtype -eq 'Timeclock') {
Write-Host "=== eDNC Setup: skipped (Standard-Timeclock) ==="
try { Stop-Transcript | Out-Null } catch {}
return
}
}
Write-Host "=== eDNC Setup ==="
function Get-SiteConfig {
$configPath = 'C:\Enrollment\site-config.json'
if (-not (Test-Path -LiteralPath $configPath)) {
Write-Host "site-config.json not found - using defaults" -ForegroundColor DarkGray
return $null
}
try {
return (Get-Content -LiteralPath $configPath -Raw -ErrorAction Stop | ConvertFrom-Json)
} catch {
Write-Warning "Failed to parse site-config.json: $_"
return $null
}
}
$siteConfig = Get-SiteConfig
$siteName = if ($siteConfig) { $siteConfig.siteName } else { 'West Jefferson' }
$siteNameCompact = if ($siteConfig) { $siteConfig.siteNameCompact } else { 'WestJefferson' }
$edncDir = Join-Path $PSScriptRoot 'eDNC'
if (-not (Test-Path $edncDir)) {
Write-Warning "eDNC folder not found at $edncDir - skipping."
try { Stop-Transcript | Out-Null } catch {}
exit 0
}
# --- Find installer ---
# Filter is eDNC*.msi (no dash) so we match both vendor naming styles:
# eDNC-6.4.3.msi (dash) and eDNC_6-4-5.msi (underscore). Imaging dir should
# only contain ONE version at a time; rollback to a prior version is handled
# post-imaging via the SFLD share's standard-machine/apps/ alternates.
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" | Select-Object -First 1
$emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC ---
if ($edncMsi) {
Write-Host "Installing eDNC: $($edncMsi.Name)..."
$p = Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$($edncMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false SITESELECTED=`"$siteName`"" -Wait -PassThru
Write-Host " eDNC exit code: $($p.ExitCode)"
} else {
Write-Warning "eDNC installer not found in $edncDir (expected eDNC*.msi)"
}
# --- 2. Mirror x86 install to 64-bit Program Files (app uses hardcoded paths) ---
# mxTransactionDll.dll references \Dnc\Server Files\
$copies = @(
@{ Src = "C:\Program Files (x86)\Dnc"; Dst = "C:\Program Files\Dnc" }
)
foreach ($c in $copies) {
if (Test-Path $c.Src) {
if (-not (Test-Path $c.Dst)) {
New-Item -Path $c.Dst -ItemType Directory -Force | Out-Null
}
Copy-Item -Path "$($c.Src)\*" -Destination $c.Dst -Recurse -Force
Write-Host " Copied $($c.Src) -> $($c.Dst)"
}
}
# --- 3. Set DNC site + machine number ---
$regBase = "HKLM\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC"
reg add "$regBase\General" /v Site /t REG_SZ /d $siteNameCompact /f | Out-Null
Write-Host " DNC site set to $siteNameCompact."
# Set machine number if tech entered one during PXE menu (defaults to 9999)
$machineNumFile = 'C:\Enrollment\machine-number.txt'
$machineNum = '9999'
if (Test-Path -LiteralPath $machineNumFile) {
$num = (Get-Content -LiteralPath $machineNumFile -First 1 -ErrorAction SilentlyContinue).Trim()
if ($num -and $num -match '^\d+$') { $machineNum = $num }
}
reg add "$regBase\General" /v MachineNo /t REG_SZ /d $machineNum /f | Out-Null
Write-Host " DNC MachineNo set to $machineNum."
# --- 4. Deploy custom eMxInfo.txt to both Program Files paths ---
if (Test-Path $emxInfo) {
$dest86 = "C:\Program Files (x86)\DNC\Server Files"
$dest64 = "C:\Program Files\DNC\Server Files"
foreach ($dest in @($dest86, $dest64)) {
if (-not (Test-Path $dest)) {
New-Item -Path $dest -ItemType Directory -Force | Out-Null
}
Copy-Item -Path $emxInfo -Destination (Join-Path $dest "eMxInfo.txt") -Force
Write-Host " eMxInfo.txt -> $dest"
}
} else {
Write-Warning "eMxInfo.txt not found at $emxInfo"
}
Write-Host "=== eDNC Setup Complete ==="
try { Stop-Transcript | Out-Null } catch {}

View File

@@ -0,0 +1,56 @@
# 02-Setup-HeatTreat.ps1 - HeatTreat app setup (runs AFTER 01-eDNC.ps1).
#
# HeatTreat_6.2.1.msi is a WiX/GE Aviation installer, same lineage as Mark
# and eDNC. Decompiled findings:
# - LAUNCHNTLARS=true by default and the LaunchNtlars custom action fires
# under /qn (condition NOT Installed AND LAUNCHNTLARS="true"). Pass
# LAUNCHNTLARS=false to suppress it (same as 01-eDNC.ps1 and Mark).
# - No ForceReboot/ScheduleReboot (only WixCheckRebootRequired, which just
# sets a flag) - so /norestart is safe.
# - Only LaunchCondition is NOT NEWERVERSIONDETECTED (blocks downgrade).
#
# NOTE: HeatTreat may also need a DNC .reg overlay (the WJPRT.reg has a
# [...\DNC\HeatTreat] subkey section) and/or a file copy, mirroring the Part
# Marker flow. That is unconfirmed - see the TODO below. Today this installs
# DNC (via 01-eDNC.ps1) + the HeatTreat MSI only.
#
# Log: C:\Logs\HeatTreat\02-Setup-HeatTreat.log
$ErrorActionPreference = 'Continue'
$logDir = 'C:\Logs\HeatTreat'
if (-not (Test-Path $logDir)) { try { New-Item -ItemType Directory -Path $logDir -Force | Out-Null } catch {} }
try { Start-Transcript -Path (Join-Path $logDir '02-Setup-HeatTreat.log') -Append -Force | Out-Null } catch {}
Write-Host '=== HeatTreat Setup ==='
$pxeStatusLib = Join-Path $PSScriptRoot '..\Shopfloor\lib\Send-PxeStatus.ps1'
if (Test-Path $pxeStatusLib) {
try { . $pxeStatusLib; Send-PxeStatus -Stage '02-Setup-HeatTreat: starting' -StageIndex 3 -StageTotal 8 } catch { }
}
$payloadDir = Join-Path $PSScriptRoot 'HeatTreat'
# ============================================================================
# Install HeatTreat_6.2.1.msi
# ============================================================================
$htMsi = Get-ChildItem -Path $payloadDir -Filter 'HeatTreat*.msi' -File -ErrorAction SilentlyContinue | Select-Object -First 1
if ($htMsi) {
Write-Host "Installing HeatTreat: $($htMsi.Name)..."
$p = Start-Process -FilePath 'msiexec.exe' `
-ArgumentList "/i `"$($htMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false" `
-Wait -PassThru
Write-Host " HeatTreat exit code: $($p.ExitCode)"
} else {
Write-Warning "HeatTreat MSI not found in $payloadDir (expected HeatTreat*.msi) - skipping install"
}
# TODO (unconfirmed): if HeatTreat needs a DNC .reg overlay + file copy like
# the Part Marker, add it here - import the .reg redirected to WOW6432Node and
# copy any overlay files into the install dir. Pending confirmation.
if (Get-Command Send-PxeStatus -ErrorAction SilentlyContinue) {
Send-PxeStatus -Stage '02-Setup-HeatTreat: complete' -StageIndex 4 -StageTotal 8
}
Write-Host '=== HeatTreat Setup Complete ==='
try { Stop-Transcript | Out-Null } catch {}

View File

@@ -0,0 +1,111 @@
# 01-eDNC.ps1 - Install eDNC and deploy custom eMxInfo.txt (Standard-Machine only)
# --- Transcript ---
$logDir = 'C:\Logs\SFLD'
if (-not (Test-Path $logDir)) { try { New-Item -ItemType Directory -Path $logDir -Force | Out-Null } catch {} }
try { Start-Transcript -Path (Join-Path $logDir '01-eDNC.log') -Append -Force | Out-Null } catch {}
# --- Skip on Timeclock sub-type ---
$subtypeFile = 'C:\Enrollment\pc-subtype.txt'
if (Test-Path $subtypeFile) {
$subtype = (Get-Content $subtypeFile -First 1 -ErrorAction SilentlyContinue).Trim()
if ($subtype -eq 'Timeclock') {
Write-Host "=== eDNC Setup: skipped (Standard-Timeclock) ==="
try { Stop-Transcript | Out-Null } catch {}
return
}
}
Write-Host "=== eDNC Setup ==="
function Get-SiteConfig {
$configPath = 'C:\Enrollment\site-config.json'
if (-not (Test-Path -LiteralPath $configPath)) {
Write-Host "site-config.json not found - using defaults" -ForegroundColor DarkGray
return $null
}
try {
return (Get-Content -LiteralPath $configPath -Raw -ErrorAction Stop | ConvertFrom-Json)
} catch {
Write-Warning "Failed to parse site-config.json: $_"
return $null
}
}
$siteConfig = Get-SiteConfig
$siteName = if ($siteConfig) { $siteConfig.siteName } else { 'West Jefferson' }
$siteNameCompact = if ($siteConfig) { $siteConfig.siteNameCompact } else { 'WestJefferson' }
$edncDir = Join-Path $PSScriptRoot 'eDNC'
if (-not (Test-Path $edncDir)) {
Write-Warning "eDNC folder not found at $edncDir - skipping."
try { Stop-Transcript | Out-Null } catch {}
exit 0
}
# --- Find installer ---
# Filter is eDNC*.msi (no dash) so we match both vendor naming styles:
# eDNC-6.4.3.msi (dash) and eDNC_6-4-5.msi (underscore). Imaging dir should
# only contain ONE version at a time; rollback to a prior version is handled
# post-imaging via the SFLD share's standard-machine/apps/ alternates.
$edncMsi = Get-ChildItem -Path $edncDir -Filter "eDNC*.msi" | Select-Object -First 1
$emxInfo = Join-Path $edncDir "eMxInfo.txt"
# --- 1. Install eDNC ---
if ($edncMsi) {
Write-Host "Installing eDNC: $($edncMsi.Name)..."
$p = Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$($edncMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false SITESELECTED=`"$siteName`"" -Wait -PassThru
Write-Host " eDNC exit code: $($p.ExitCode)"
} else {
Write-Warning "eDNC installer not found in $edncDir (expected eDNC*.msi)"
}
# --- 2. Mirror x86 install to 64-bit Program Files (app uses hardcoded paths) ---
# mxTransactionDll.dll references \Dnc\Server Files\
$copies = @(
@{ Src = "C:\Program Files (x86)\Dnc"; Dst = "C:\Program Files\Dnc" }
)
foreach ($c in $copies) {
if (Test-Path $c.Src) {
if (-not (Test-Path $c.Dst)) {
New-Item -Path $c.Dst -ItemType Directory -Force | Out-Null
}
Copy-Item -Path "$($c.Src)\*" -Destination $c.Dst -Recurse -Force
Write-Host " Copied $($c.Src) -> $($c.Dst)"
}
}
# --- 3. Set DNC site + machine number ---
$regBase = "HKLM\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC"
reg add "$regBase\General" /v Site /t REG_SZ /d $siteNameCompact /f | Out-Null
Write-Host " DNC site set to $siteNameCompact."
# Set machine number if tech entered one during PXE menu (defaults to 9999)
$machineNumFile = 'C:\Enrollment\machine-number.txt'
$machineNum = '9999'
if (Test-Path -LiteralPath $machineNumFile) {
$num = (Get-Content -LiteralPath $machineNumFile -First 1 -ErrorAction SilentlyContinue).Trim()
if ($num -and $num -match '^\d+$') { $machineNum = $num }
}
reg add "$regBase\General" /v MachineNo /t REG_SZ /d $machineNum /f | Out-Null
Write-Host " DNC MachineNo set to $machineNum."
# --- 4. Deploy custom eMxInfo.txt to both Program Files paths ---
if (Test-Path $emxInfo) {
$dest86 = "C:\Program Files (x86)\DNC\Server Files"
$dest64 = "C:\Program Files\DNC\Server Files"
foreach ($dest in @($dest86, $dest64)) {
if (-not (Test-Path $dest)) {
New-Item -Path $dest -ItemType Directory -Force | Out-Null
}
Copy-Item -Path $emxInfo -Destination (Join-Path $dest "eMxInfo.txt") -Force
Write-Host " eMxInfo.txt -> $dest"
}
} else {
Write-Warning "eMxInfo.txt not found at $emxInfo"
}
Write-Host "=== eDNC Setup Complete ==="
try { Stop-Transcript | Out-Null } catch {}

View File

@@ -0,0 +1,126 @@
# 02-Setup-PartMarker.ps1 - Telesis Part Marker setup (runs AFTER 01-eDNC.ps1).
#
# Order (per the marker imaging recipe):
# 1. Install Mark-6.2.1.msi silently.
# 2. AFTER the MSI install: import WJPRT.reg, copy the Mark overlay files
# and eMxInfo.txt into the install dir.
#
# Mark-6.2.1.msi is a WiX/GE Aviation installer. Decompiled findings:
# - LAUNCHNTLARS=true by default and the LaunchNtlars custom action is
# scheduled in InstallExecuteSequence (condition NOT Installed AND
# LAUNCHNTLARS="true"), so under /qn it WOULD launch NTLARS mid-install.
# We pass LAUNCHNTLARS=false to suppress it (same as 01-eDNC.ps1).
# - No ForceReboot/ScheduleReboot, so /norestart is safe.
# - Only LaunchCondition is NOT NEWERVERSIONDETECTED (blocks downgrade).
# - Installs to C:\Program Files (x86)\Mark (32-bit MSI, ProgramFilesFolder).
#
# WJPRT.reg targets HKLM\SOFTWARE\GE Aircraft Engines\DNC (the 64-bit view as
# written), but DNC is a 32-bit app and reads from WOW6432Node (see
# 01-eDNC.ps1, which uses HKLM\SOFTWARE\WOW6432Node\GE Aircraft Engines\DNC).
# reg.exe import does NOT honor /reg:32, so we rewrite the key paths to
# WOW6432Node before importing.
#
# Log: C:\Logs\PartMarker\02-Setup-PartMarker.log
$ErrorActionPreference = 'Continue'
$logDir = 'C:\Logs\PartMarker'
if (-not (Test-Path $logDir)) { try { New-Item -ItemType Directory -Path $logDir -Force | Out-Null } catch {} }
try { Start-Transcript -Path (Join-Path $logDir '02-Setup-PartMarker.log') -Append -Force | Out-Null } catch {}
Write-Host '=== Part Marker Setup ==='
$pxeStatusLib = Join-Path $PSScriptRoot '..\Shopfloor\lib\Send-PxeStatus.ps1'
if (Test-Path $pxeStatusLib) {
try { . $pxeStatusLib; Send-PxeStatus -Stage '02-Setup-PartMarker: starting' -StageIndex 3 -StageTotal 8 } catch { }
}
$payloadDir = Join-Path $PSScriptRoot 'PartMarker'
$markInstall = 'C:\Program Files (x86)\Mark'
# ============================================================================
# Step 1: Install Mark-6.2.1.msi
# ============================================================================
$markMsi = Get-ChildItem -Path $payloadDir -Filter 'Mark-*.msi' -File -ErrorAction SilentlyContinue | Select-Object -First 1
if ($markMsi) {
Write-Host "Installing Mark: $($markMsi.Name)..."
$p = Start-Process -FilePath 'msiexec.exe' `
-ArgumentList "/i `"$($markMsi.FullName)`" /qn /norestart LAUNCHNTLARS=false" `
-Wait -PassThru
Write-Host " Mark exit code: $($p.ExitCode)"
} else {
Write-Warning "Mark MSI not found in $payloadDir (expected Mark-*.msi) - skipping install"
}
# ============================================================================
# Step 2: Import WJPRT.reg into WOW6432Node
# ============================================================================
# Rewrite the GE Aircraft Engines path to its WOW6432Node equivalent so the
# 32-bit DNC app sees the marker config. The source .reg is REGEDIT4 format;
# a simple key-path string replace is sufficient (values are untouched).
$wjprtSrc = Join-Path $payloadDir 'Mark\WJPRT.reg'
if (Test-Path -LiteralPath $wjprtSrc) {
try {
$regText = Get-Content -LiteralPath $wjprtSrc -Raw
$redirected = $regText -replace `
'HKEY_LOCAL_MACHINE\\SOFTWARE\\GE Aircraft Engines', `
'HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GE Aircraft Engines'
$tmpReg = Join-Path $env:TEMP 'WJPRT-wow6432.reg'
# reg.exe expects ANSI/Unicode; write as default (ASCII is fine for REGEDIT4).
Set-Content -LiteralPath $tmpReg -Value $redirected -Encoding ASCII -Force
Write-Host "Importing WJPRT.reg (redirected to WOW6432Node)..."
$r = Start-Process -FilePath 'reg.exe' -ArgumentList "import `"$tmpReg`"" -Wait -PassThru
Write-Host " reg import exit code: $($r.ExitCode)"
Remove-Item -LiteralPath $tmpReg -Force -ErrorAction SilentlyContinue
} catch {
Write-Warning "WJPRT.reg import failed: $_"
}
} else {
Write-Warning "WJPRT.reg not found at $wjprtSrc - DNC marker config NOT applied"
}
# ============================================================================
# Step 3: Copy the Mark overlay + eMxInfo.txt into C:\Program Files (x86)\Mark
# ============================================================================
# The MSI lays down the base app; these files are the site-customized overlay
# (bin, Server Files, Documents, Logs, utilpassword.txt). WJPRT.reg is NOT
# copied (it is imported above, not a runtime file).
if (-not (Test-Path -LiteralPath $markInstall)) {
try { New-Item -ItemType Directory -Path $markInstall -Force | Out-Null } catch {}
}
$overlaySrc = Join-Path $payloadDir 'Mark'
if (Test-Path -LiteralPath $overlaySrc) {
Write-Host "Copying Mark overlay to $markInstall ..."
Get-ChildItem -LiteralPath $overlaySrc -Force -ErrorAction SilentlyContinue |
Where-Object { $_.Name -ne 'WJPRT.reg' } |
ForEach-Object {
try {
Copy-Item -LiteralPath $_.FullName -Destination $markInstall -Recurse -Force -ErrorAction Stop
Write-Host " copied $($_.Name)"
} catch {
Write-Warning " failed to copy $($_.Name): $_"
}
}
} else {
Write-Warning "Mark overlay folder not found at $overlaySrc"
}
# eMxInfo.txt - the marker also needs the custom eMxInfo (same as eDNC). It
# lives in the sibling eDNC payload; copy it into the Mark install dir.
$emxInfo = Join-Path $PSScriptRoot 'eDNC\eMxInfo.txt'
if (Test-Path -LiteralPath $emxInfo) {
try {
Copy-Item -LiteralPath $emxInfo -Destination (Join-Path $markInstall 'eMxInfo.txt') -Force -ErrorAction Stop
Write-Host " copied eMxInfo.txt -> $markInstall"
} catch {
Write-Warning " failed to copy eMxInfo.txt: $_"
}
} else {
Write-Warning "eMxInfo.txt not found at $emxInfo"
}
if (Get-Command Send-PxeStatus -ErrorAction SilentlyContinue) {
Send-PxeStatus -Stage '02-Setup-PartMarker: complete' -StageIndex 4 -StageTotal 8
}
Write-Host '=== Part Marker Setup Complete ==='
try { Stop-Transcript | Out-Null } catch {}

View File

@@ -0,0 +1,171 @@
__ __ _ ____ _ _ ____
| \/ | __ _ _ __| | __| _ \| \ | |/ ___|
| |\/| |/ _` | '__| |/ /| | | | \| | |
| | | | (_| | | | < | |_| | |\ | |___
|_| |_|\__,_|_| |_|\_\|____/|_| \_|\____|
Release 6.0.0 - June 5th, 2013
MarkDNC is used with Telesis TMC400 series marking controls. It provides error
proofing and simplifies the Part Marking process for the operator by
automatically retriving variable data fields from CSF and substituting them
into a selected pattern file on the marking controller. It is very similar to
the Mark application, but has the added capability of storing and retrieving
the pattern and "part marking" files in eMX.
I. Release Notes
II. Change History
III. Install Instructions
IV. Uninstall Instructions
V. Package Contents
VI. Build Environment
##############################################################################
I. RELEASE NOTES
##############################################################################
1. Windows 7 & 64-bit OS support has been added as of MarkDNC 6.0.0.
2. MarkDNC requires eDNC 6.0.0 or later to be installed.
3. Oracle ODBC drivers for connecting to eMX are no longer bundled with this
install package. These should already be included in all shop floor images.
For business images, please install "Oracle Database Client 11g" from
AppDepot before installing MarkDNC.
4. Make sure port.dat is NOT read-only.
##############################################################################
II. CHANGE HISTORY
##############################################################################
OpenGE Tracker:
https://openge.ge.com/gf/project/ednc/tracker/
MarkDNC 6.0.0 - Released 2013-06-05
===================================
[#373114] Add Support for Windows 7 & 64-bit OS
MarkDNC 4.0.1 - Released 2011-03-09
===================================
- For WJF: After marking last item, clear the variable fields in the pattern
before displaying the "COMPLETED" message
- For WILM: The download executable for test will read a registry value
(HKEY_LOCAL_MACHINE\Software\GE Aircraft Engines\DNC\Mark\MarkerHome)
And will act as follows based on the value:
0 = do NOT home
1 = Home at start
2 = Home at end
3 = Home at start and end
default = 1 (if MarkerHome not set)
The registry value must be configured with regedit instead of LARS (this
feature is only used at one old maker with an indexing table).
##############################################################################
III. INSTALL INSTRUCTIONS
##############################################################################
1. Run the "MarkDNC-x.x.x.msi" file.
2. If a previous version was installed, it will be uninstalled first.
3. You may be instructed to restart the PC. Do so when prompted.
4. NTLARS will launch automatically during the install. Confirm the settings
on the "General" tab are correct for this machine and interface type. It
is recommended to load settings from an existing registry file if one is
available. Backups are automatically saved to "U:\Dnc\Reg Files".
5. If NLARS did not launch automatically during the install, then it is most
likely because the target PC has UAC enabled. In this case, please launch
NTLARS from the start menu after the installation is finished.
6. Refer to "C:\Program Files\Dnc\Server Files\Instructions.txt" if you need
to add shortcuts to the start menu for Shop Floor functional accounts.
##############################################################################
IV. UNINSTALL INSTRUCTIONS
##############################################################################
1. Go to Control Panel and choose "Uninstall or change a program".
2. Select "MarkDNC x.x.x" from the list of programs, and click "Uninstall".
##############################################################################
V. PACKAGE CONTENTS
##############################################################################
Installation package will perform the following actions...
CREATE FOLDERS
==============
C:\Program Files\Dnc
C:\Program Files\Dnc\Common
C:\Program Files\Mark
C:\Program Files\Mark\bin
C:\Program Files\Mark\Documents
C:\Program Files\Mark\Logs
C:\Program Files\Telesis
C:\Program Files\Telesis\Backup400
C:\Program Files\Telesis\Backup400\Params
C:\Program Files\Telesis\Backup420
C:\Program Files\Telesis\Backup420\Params
C:\Program Files\Telesis\Backup470
C:\Program Files\Telesis\Backup470\Params
COPY FILES (* = new or updated file)
====================================
C:\Program Files\Dnc\NewBadgefmt.txt
C:\Program Files\Dnc\Common\NTLARS.exe 6.0.0.3 *
C:\Program Files\Dnc\Server Files\eMxInfo.txt
C:\Program Files\Mark\bin\DNCdll.dll 6.0.0.3 *
C:\Program Files\Mark\bin\Mark.exe 6.0.0.1 *
C:\Program Files\Mark\bin\MarkEdit.exe 6.0.0.3 *
C:\Program Files\Mark\bin\MarkTelesis.exe 6.0.0.3 *
C:\Program Files\Mark\Documents\BrekMarkEdit.doc
C:\Program Files\Mark\Documents\BrenMarkDNC.doc
C:\Program Files\Mark\Documents\EvenMarkEdit.doc
C:\Program Files\Mark\Documents\MarkDNC_release_notes.txt
C:\Program Files\Mark\Documents\MarkFileSpec.doc
C:\Program Files\Mark\Documents\WilmMarkEdit.doc
C:\Program Files\Telesis\Backup400\_ISREG32.DLL 2.0.0.0
C:\Program Files\Telesis\Backup400\Backup400.exe 1.0.0.1
C:\Program Files\Telesis\Backup400\Backup400.cnt
C:\Program Files\Telesis\Backup400\BACKUP400.HLP
C:\Program Files\Telesis\Backup400\Params\port.dat
C:\Program Files\Telesis\Backup420\_ISREG32.DLL 2.0.0.0
C:\Program Files\Telesis\Backup420\Backup420.exe 1.0.0.1
C:\Program Files\Telesis\Backup420\31946.chm
C:\Program Files\Telesis\Backup420\Params\port.dat
C:\Program Files\Telesis\Backup470\Backup470.exe 1.0.0.1
C:\Program Files\Telesis\Backup470\32914.chm
C:\Program Files\Telesis\Backup470\32914.pdf
C:\Program Files\Telesis\Backup470\Params\port.dat
C:\Windows\System32\Csh.dll 2.0.39.0
C:\Windows\System32\msflxgrd.ocx 6.0.84.18
C:\Windows\System32\mfc71.dll 7.10.3077.0
C:\Windows\System32\msvcr71.dll 7.10.3052.4
C:\Windows\System32\msvcp71.dll 7.10.3077.0
CREATE ODBC DATA SOURCE FOR MX
==============================
Add MX Entries to C:\Windows\ODBC.ini
Add Registry Keys/Values...
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\MX]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources]
CREATE REGISTRY KEYS
====================
[HKEY_LOCAL_MACHINE\Software\GE Aircraft Engines\MarkDNC\6.0.0]
[HKEY_LOCAL_MACHINE\Software\GE Aircraft Engines\DNC]
ADD SHORTCUTS TO START MENU
===========================
MarkEdit (Shortcut to C:\Program Files\Mark\bin\MarkEdit.exe)
MarkTelesis (Shortcut to C:\Program Files\Mark\bin\MarkTelesis.exe)
Backup400 (Shortcut to C:\Program Files\Telesis\Backup400.exe)
Backup420 (Shortcut to C:\Program Files\Telesis\Backup420.exe)
Backup470 (Shortcut to C:\Program Files\Telesis\Backup470.exe)
NTLARS (Shortcut to C:\Program Files\Dnc\Common\NTLARS.exe)
##############################################################################
V. BUILD ENVIRONMENT
##############################################################################
Windows XP Version 2002 SP3
Visual Studio .Net 2003 7.1 SP1
Windows Installer XML (WiX) Toolset Version 3.6

View File

@@ -0,0 +1,164 @@
__ __ _
| \/ | __ _ _ __| | __
| |\/| |/ _` | '__| |/ /
| | | | (_| | | | <
|_| |_|\__,_|_| |_|\_\
Release 6.0.0 - June 5th, 2013
Mark is used with Telesis TMC400 series marking controls in Evendale. The Mark
application provides error proofing and simplifies the Part Marking process
for the operator by automatically retriving variable data fields from CSF and
substituting them into a selected pattern file on the marking controller.
I. Release Notes
II. Change History
III. Install Instructions
IV. Uninstall Instructions
V. Package Contents
VI. Build Environment
##############################################################################
I. RELEASE NOTES
##############################################################################
1. Windows 7 & 64-bit OS support has been added as of Mark 6.0.0.
2. Oracle ODBC drivers for connecting to eMX are no longer bundled with this
install package. These should already be included in all shop floor images.
For business images, please install "Oracle Database Client 11g" from
AppDepot before installing Mark.
3. The U:\PartMarking folder must be created by the SFxx0Axxx account and then
the SFxx0Uxxx account must be grated read/write access. The Mark apps
should then be able to create the xxxxx subfolders as required.
##############################################################################
II. CHANGE HISTORY
##############################################################################
OpenGE Tracker:
https://openge.ge.com/gf/project/ednc/tracker/
Mark 6.0.0 - Released 2013-06-05
================================
[#373114] Add Support for Windows 7 & 64-bit OS
Mark 4.0.0 - Released 2010-07-06
================================
- Use new versions of MxTransaction & DNCdll Dynamic Link Libraries
##############################################################################
III. INSTALL INSTRUCTIONS
##############################################################################
1. Run the "Mark-x.x.x.msi" file.
2. If a previous version was installed, it will be uninstalled first.
3. You may be instructed to restart the PC. Do so when prompted.
4. NTLARS will launch automatically during the install. Confirm the settings
on the "General" tab are correct for this machine and interface type. It
is recommended to load settings from an existing registry file if one is
available. Backups are automatically saved to "U:\Dnc\Reg Files".
5. If NLARS did not launch automatically during the install, then it is most
likely because the target PC has UAC enabled. In this case, please launch
NTLARS from the start menu after the installation is finished.
6. Refer to "C:\Program Files\Dnc\Server Files\Instructions.txt" if you need
to add shortcuts to the start menu for Shop Floor functional accounts.
##############################################################################
IV. UNINSTALL INSTRUCTIONS
##############################################################################
1. Go to Control Panel and choose "Uninstall or change a program".
2. Select "Mark x.x.x" from the list of programs, and click "Uninstall".
##############################################################################
V. PACKAGE CONTENTS
##############################################################################
Installation package will perform the following actions...
CREATE FOLDERS
==============
C:\Program Files\Dnc
C:\Program Files\Dnc\Common
C:\Program Files\Dnc\Server Files
C:\Program Files\Mark
C:\Program Files\Mark\bin
C:\Program Files\Mark\Documents
C:\Program Files\Mark\Logs
C:\Program Files\Mark\Server Files
C:\Program Files\Telesis
C:\Program Files\Telesis\Backup400
C:\Program Files\Telesis\Backup400\Params
C:\Program Files\Telesis\Backup420
C:\Program Files\Telesis\Backup420\Params
C:\Program Files\Telesis\Backup470
C:\Program Files\Telesis\Backup470\Params
COPY FILES (* = new or updated file)
====================================
C:\Program Files\Dnc\NewBadgefmt.txt
C:\Program Files\Dnc\Common\NTLARS.exe 6.0.0.3 *
C:\Program Files\Dnc\Server Files\eMxInfo.txt
C:\Program Files\Mark\Mark.chm *
C:\Program Files\Mark\MarkPat.chm *
C:\Program Files\Mark\utilpassword.txt
C:\Program Files\Mark\bin\DNCdll.dll 6.0.0.3 *
C:\Program Files\Mark\bin\Mark.exe 6.0.0.1 *
C:\Program Files\Mark\bin\MarkPatterns.exe 6.0.0.3 *
C:\Program Files\Mark\bin\MarkUtil.exe 6.0.0.3 *
C:\Program Files\Mark\bin\mxTransactionDll.dll 6.0.0.5 *
C:\Program Files\Mark\Documents\Mark_release_notes.txt
C:\Program Files\Mark\Server Files\LMark.exe 6.0.0.1 *
C:\Program Files\Mark\Server Files\LMarkUtil.exe 6.0.0.1 *
C:\Program Files\Mark\Server Files\Mark.lnk
C:\Program Files\Mark\Server Files\MarkUtils.lnk
C:\Program Files\Telesis\Backup400\_ISREG32.DLL 2.0.0.0
C:\Program Files\Telesis\Backup400\Backup400.exe 1.0.0.1
C:\Program Files\Telesis\Backup400\Backup400.cnt
C:\Program Files\Telesis\Backup400\BACKUP400.HLP
C:\Program Files\Telesis\Backup400\Params\port.dat
C:\Program Files\Telesis\Backup420\_ISREG32.DLL 2.0.0.0
C:\Program Files\Telesis\Backup420\Backup420.exe 1.0.0.1
C:\Program Files\Telesis\Backup420\31946.chm
C:\Program Files\Telesis\Backup420\Params\port.dat
C:\Program Files\Telesis\Backup470\Backup470.exe 1.0.0.1
C:\Program Files\Telesis\Backup470\32914.chm
C:\Program Files\Telesis\Backup470\32914.pdf
C:\Program Files\Telesis\Backup470\Params\port.dat
C:\Windows\System32\Csh.dll 2.0.39.0
C:\Windows\System32\msflxgrd.ocx 6.0.84.18
C:\Windows\System32\mfc71.dll 7.10.3077.0
C:\Windows\System32\msvcr71.dll 7.10.3052.4
C:\Windows\System32\msvcp71.dll 7.10.3077.0
CREATE ODBC DATA SOURCE FOR MX
==============================
Add MX Entries to C:\Windows\ODBC.ini
Add Registry Keys/Values...
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\MX]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources]
CREATE REGISTRY KEYS
====================
[HKEY_LOCAL_MACHINE\Software\GE Aircraft Engines\Mark\6.0.0]
[HKEY_LOCAL_MACHINE\Software\GE Aircraft Engines\DNC]
ADD SHORTCUTS TO START MENU
===========================
Mark (Shortcut to C:\Program Files\Mark\bin\Mark.exe)
MarkUtils (Shortcut to C:\Program Files\Mark\bin\MarkUtil.exe)
Backup400 (Shortcut to C:\Program Files\Telesis\Backup400.exe)
Backup420 (Shortcut to C:\Program Files\Telesis\Backup420.exe)
Backup470 (Shortcut to C:\Program Files\Telesis\Backup470.exe)
NTLARS (Shortcut to C:\Program Files\Dnc\Common\NTLARS.exe)
##############################################################################
V. BUILD ENVIRONMENT
##############################################################################
Windows XP Version 2002 SP3
Visual Studio .Net 2003 7.1 SP1
Windows Installer XML (WiX) Toolset Version 3.6

View File

@@ -0,0 +1,8 @@
************************************
Starting Mark application 15:50:25 Wed February 09 2022
Application Succesfully Registered
Mark Dialog Invoked
Reading Mark registry variables
Pattern Count read from registry as 0
Successfully read Registry Variables
OnSetfocusDocard, entering

View File

@@ -0,0 +1,240 @@
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC]
"COMPUTERNAME"="G1ZTNCX3ESF"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\Btr]
"BTR Rate"="300"
"Seq Search"="NO"
"Auto Rewind"="YES"
"BCC"="NO"
"CMNT"="NO"
"CmntLag"=dword:00000000
"DisableScrnSvr"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\DatC]
"Debug"="NO"
"Multi"="NO"
"WorkStations"="0"
"WS1"=""
"WS2"=""
"WS3"=""
"WS4"=""
"WS5"=""
"WS6"=""
"Files Threshold"="200"
"Any"="NO"
"DaysOld"="7"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\General]
"Site"="WestJefferson"
"Cnc"="MARKER"
"NcIF"="SERIAL"
"MachineNo"="WJPRT"
"Debug"="ON"
"Uploads"="NO"
"Scanner"="NO"
"HostType"="WILM"
"DvUpldDir"=""
"Ncedt"="NO"
"Maint"="NO"
"Mode"="Small"
"Unit/Area"=""
"Dripfeed"="NO"
"ChangeWorkstation"="NO"
"CWRegPath"="C:\\Program Files\\Dnc"
"FtpFileSel"="Host"
"DvDnldDir"=""
"RemindEnable"="NO"
"RemindBkupHost"=""
"RemindBkupFolder"=""
"Print"="NO"
"FixTorque"="NO"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\Hssb]
"KRelay1"=
"ProgIdLimit"=""
"KeyCheck"=""
"DelHighIds"=""
"StdPmcG"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\MX]
"FtpPasswd"=""
"FtpHostPrimary"=""
"FtpHostSecondary"=""
"FtpAccount"=""
"FtpHostType"="Windows"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\QUAL]
"UserName"=""
"Password"=""
"Primary"=""
"Secondary"=""
"SocketNo"=""
"Timeout"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\Serial]
"Port Id"="COM4"
"Baud"="9600"
"Parity"="None"
"Data Bits"="8"
"Stop Bits"="1"
"CRLF"="NO"
"EOL Delay"="NO"
"MC2000Dels"="NO"
"EOT"="NO"
"EOL Delay msec"="0"
"DeleteLT9000"=""
"SwapSize"=""
"2Saddle"="NO"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\Mark]
"Port Id"="COM4"
"Baud"="9600"
"Parity"="None"
"Data Bits"="8"
"Stop Bits"="1"
"Message Type"="V"
"Debug"="ON"
"MarkerType"="2Line"
"DncPatterns"="NO"
"CageCode"=""
"DataHost"=""
"DataPath"=""
"MarkMasterPath"=""
"Port Id2"=""
"Baud2"=""
"Parity2"=""
"Data Bits2"=""
"Stop Bits2"=""
"DisableWeight"="YES"
"DisableBarcode"="NO"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\NTSHR]
"ShrHost"=""
"ShrFolder"=""
"ShrExt"=""
"ShrFolder2"=""
"ShrFolder3"=""
"ProgIdLimit"=""
"Deletes"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\FtpDnld]
"Target"=""
"Username"=""
"Password"=""
"DirectoryPath"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\DNC2]
"MPRelay"=""
"ProgIdLimit"=""
"PMC-NB"="NO"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\FMS]
"FMSHostPrimary"="WJFMS3"
"FMSHostSecondary"="WJFMS3"
"FMSSocketBase"="5003"
"FMSTimeOut"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\PPDCS]
"Port Id"=""
"Baud"=""
"Data Bits"=""
"Parity"=""
"Stop Bits"=""
"Start Char"=""
"Wait Time"="250"
"UserName"=""
"Password"=""
"Primary"=""
"Secondary"=""
"Timeout"="10"
"Files Threshold"="5"
"FrontEnd"=""
"TQM9030"="NO"
"TextMode Menu"="NO"
"TreeDisplay"="NO"
"CLMShare"=""
"ShareFile"=""
"SharePoll"=""
"MDMacroVar"=""
"TQMCaron"="NO"
"CycleStart Inhibits"="NO"
"EnableSharePoll"=""
"WaitForCncFile"=""
"HostType"="VMS"
"HostPath"=""
"Port Id2"=""
"ShareHost"=""
"SharePollUnits"="msec"
"FileAge"=""
"HostPath2"=""
"SearchSubfolders"=""
"ManualDataBadge"="NO"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\TncRemo]
"TncFolder"=""
"TncExt"=""
"TncIpAddr"=""
"Port"=""
"Medium"=""
"MjtLaser"=""
"HFolder"=""
"IFolder"=""
"DFolder"=""
"TABFolder"=""
"TFolder"=""
"TCHFolder"=""
"PFolder"=""
"PNTFolder"=""
"CDTFolder"=""
"AFolder"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\eFocas]
"IpAddr"=""
"SocketNo"=""
"DualPath"=""
"Path1Name"=""
"Path2Name"=""
"Danobat"=""
"DataServer"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\TQM9030]
"Port Id"=""
"Baud"=""
"Parity"=""
"Data Bits"=""
"Stop Bits"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\HeatTreat]
"FtpHost"=""
"FtpAccount"=""
"9030IpAddr"=""
"9030Register"=""
"CycleFilePath"=""
"FtpPasswd"=""
"9030Register2"=""
"9030Register3"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\Plant3]
"Host"="ev010dataaege"
"Path"="SHARED\\FAWS_LIB\\tmp"
"Account"="geaeevendale\\az0262t"
"Password"=""
"EnableAutomation"="NO"
"MachineType"="Lathe"
"HostType"="Windows"
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\TQMCaron]
"Port Id"=""
"Baud"=""
"Parity"=""
"Data Bits"=""
"Stop Bits"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\GE Aircraft Engines\DNC\PaintBooth]
"DataHost"=""
"DataFolder"=""
"PlcIpAddress"=""
"PollRate"=""

View File

@@ -69,12 +69,13 @@ echo 3. Common (Timeclock, Lab; WJ Shopfloor only)
echo 4. Keyence (VR-3000 / VR-5000 / VR-6000 microscope) echo 4. Keyence (VR-3000 / VR-5000 / VR-6000 microscope)
echo 5. CMM (Hexagon PC-DMIS + Protect Viewer) echo 5. CMM (Hexagon PC-DMIS + Protect Viewer)
echo 6. Genspect echo 6. Genspect
echo 7. Heattreat (placeholder) echo 7. Heattreat (eDNC + HeatTreat app)
echo 8. Wax and Trace echo 8. Wax and Trace
echo 9. Display (kiosk dashboard) echo 9. Display (kiosk dashboard)
echo 10. Part Marker (eDNC + Telesis Mark)
echo. echo.
set PCTYPE= set PCTYPE=
set /p ges_choice=Enter your choice (1-9): set /p ges_choice=Enter your choice (1-10):
if "%ges_choice%"=="1" set PCTYPE=gea-shopfloor-collections if "%ges_choice%"=="1" set PCTYPE=gea-shopfloor-collections
if "%ges_choice%"=="2" set PCTYPE=gea-shopfloor-nocollections if "%ges_choice%"=="2" set PCTYPE=gea-shopfloor-nocollections
if "%ges_choice%"=="3" set PCTYPE=gea-shopfloor-common if "%ges_choice%"=="3" set PCTYPE=gea-shopfloor-common
@@ -84,6 +85,7 @@ if "%ges_choice%"=="6" set PCTYPE=gea-shopfloor-genspect
if "%ges_choice%"=="7" set PCTYPE=gea-shopfloor-heattreat if "%ges_choice%"=="7" set PCTYPE=gea-shopfloor-heattreat
if "%ges_choice%"=="8" set PCTYPE=gea-shopfloor-waxtrace if "%ges_choice%"=="8" set PCTYPE=gea-shopfloor-waxtrace
if "%ges_choice%"=="9" set PCTYPE=gea-shopfloor-display if "%ges_choice%"=="9" set PCTYPE=gea-shopfloor-display
if "%ges_choice%"=="10" set PCTYPE=gea-shopfloor-partmarker
if "%PCTYPE%"=="" goto gea_shopfloor_submenu if "%PCTYPE%"=="" goto gea_shopfloor_submenu
if "%PCTYPE%"=="gea-shopfloor-display" goto display_submenu if "%PCTYPE%"=="gea-shopfloor-display" goto display_submenu
if "%PCTYPE%"=="gea-shopfloor-keyence" goto keyence_submenu if "%PCTYPE%"=="gea-shopfloor-keyence" goto keyence_submenu