Initial commit: Inno Setup installer packages

Installer packages for GE manufacturing tools:
- BlueSSOFix: Blue SSO authentication fix
- HIDCardPrinter: HID card printer setup
- HPOfflineInstaller: HP printer offline installer
- MappedDrive: Network drive mapping
- PrinterInstaller: General printer installer
- ShopfloorConnect: Shopfloor connectivity tool
- XeroxOfflineInstaller: Xerox printer offline installer

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
cproudlock
2025-12-30 13:15:54 -05:00
commit 8be52f956e
540 changed files with 84522 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.exe
Output/
.claude/

View File

@@ -0,0 +1 @@
netsh wlan add profile filename="%TEMP%\BLUESSO.xml"

View File

@@ -0,0 +1 @@
netsh wlan add profile filename="S:\DT\PBR\wireless\BLUESSO.xml"

View File

@@ -0,0 +1 @@
netsh wlan delete profile name="BLUESSO"

63
BlueSSOFix/BLUESSO.xml Normal file
View File

@@ -0,0 +1,63 @@
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>BLUESSO</name>
<SSIDConfig>
<SSID>
<hex>424C554553534F</hex>
<name>BLUESSO</name>
</SSID>
<nonBroadcast>true</nonBroadcast>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>manual</connectionMode>
<autoSwitch>false</autoSwitch>
<MSM>
<security>
<authEncryption>
<authentication>WPA2</authentication>
<encryption>AES</encryption>
<useOneX>true</useOneX>
</authEncryption>
<OneX xmlns="http://www.microsoft.com/networking/OneX/v1">
<cacheUserData>true</cacheUserData>
<authMode>machineOrUser</authMode>
<EAPConfig>
<EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
<EapMethod>
<Type xmlns="http://www.microsoft.com/provisioning/EapCommon">25</Type>
<VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
<VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
<AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
</EapMethod>
<Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
<Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
<Type>25</Type>
<EapType xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1">
<ServerValidation>
<DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation>
<ServerNames></ServerNames>
<TrustedRootCA></TrustedRootCA>
</ServerValidation>
<FastReconnect>true</FastReconnect>
<InnerEapOptional>false</InnerEapOptional>
<Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
<Type>6</Type>
<EapType xmlns="http://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1">
<UseWinLogonCredentials>false</UseWinLogonCredentials>
</EapType>
</Eap>
<EnableQuarantineChecks>false</EnableQuarantineChecks>
<RequireCryptoBinding>false</RequireCryptoBinding>
<PeapExtensions>
<PerformServerValidation xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">true</PerformServerValidation>
<AcceptServerName xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName>
</PeapExtensions>
</EapType>
</Eap>
</Config>
</EapHostConfig>
</EAPConfig>
</OneX>
</security>
</MSM>
</WLANProfile>

190
BlueSSOFix/BlueSSOFix.iss Normal file
View File

@@ -0,0 +1,190 @@
; BlueSSOFix - GE Aerospace Blue SSO Certificate Fix Utility
; Automates certificate management and WiFi profile configuration for Blue SSO authentication
[Setup]
AppId={{9A8B7C6D-5E4F-3A2B-1C0D-9E8F7A6B5C4D}}
AppName=WJDT BlueSSOFix
AppVersion=1.0
AppPublisher=WJDT
AppPublisherURL=http://tsgwp00524.logon.ds.ge.com
AppSupportURL=http://tsgwp00524.logon.ds.ge.com
AppUpdatesURL=http://tsgwp00524.logon.ds.ge.com
CreateAppDir=no
ChangesAssociations=no
PrivilegesRequired=admin
OutputDir=.\Output
OutputBaseFilename=BlueSSOFix
SolidCompression=yes
WizardStyle=modern
SetupIconFile=gea-logo.ico
WizardImageFile=patrick.bmp
WizardSmallImageFile=patrick-sm.bmp
CreateUninstallRegKey=no
DisableWelcomePage=no
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Messages]
WelcomeLabel2=This utility will fix Blue SSO wireless authentication issues.%n%nThe installer will:%n- Uninstall and reinstall EAP-PEAP%n- Remove old BLUESSO WiFi profile%n- Install fresh BLUESSO WiFi profile%n- Clean expired certificates%n%nThis is useful when:%n- Blue SSO authentication fails%n- WiFi profile is corrupted%n- Certificate errors appear
[Files]
; Embed the EAP-PEAP installer
Source: "EAP-PEAP.msi"; DestDir: "{tmp}"; Flags: ignoreversion
; Embed the working BLUESSO.xml
Source: "BLUESSO.xml"; DestDir: "{tmp}"; Flags: ignoreversion
; Embed the bat files
Source: "BLUESSO Remove.bat"; DestDir: "{tmp}"; Flags: ignoreversion
Source: "BLUESSO Add Temp.bat"; DestDir: "{tmp}"; Flags: ignoreversion
[Code]
var
CurrentUsername: String;
procedure InitializeWizard();
begin
CurrentUsername := GetUserNameString;
end;
procedure CurStepChanged(CurStep: TSetupStep);
var
ResultCode: Integer;
ScriptPath: String;
PowerShellScript: String;
MsiPath: String;
XmlPath: String;
begin
if CurStep = ssInstall then
begin
MsiPath := ExpandConstant('{tmp}\EAP-PEAP.msi');
// Build PowerShell script with nice output
PowerShellScript :=
'$ErrorActionPreference = "Continue"' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host " BlueSSOFix - Blue SSO Repair Tool" -ForegroundColor Cyan' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "Current User: ' + CurrentUsername + '" -ForegroundColor Gray' + #13#10 +
'Write-Host ""' + #13#10 +
'' + #13#10 +
'Write-Host "Step 1: Checking EAP-PEAP installation..." -ForegroundColor Yellow' + #13#10 +
'$peapInstalled = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{ED5776D5-59B4-46B7-AF81-5F2D94D7C640}"' + #13#10 +
'if ($peapInstalled) {' + #13#10 +
' Write-Host " EAP-PEAP already installed" -ForegroundColor Green' + #13#10 +
'} else {' + #13#10 +
' Write-Host " Installing EAP-PEAP..." -ForegroundColor Yellow' + #13#10 +
' $msiPath = "' + MsiPath + '"' + #13#10 +
' $process = Start-Process -FilePath "msiexec.exe" -ArgumentList @("/i", "`"$msiPath`"", "/qn", "/norestart") -Wait -PassThru' + #13#10 +
' if ($process.ExitCode -eq 0) {' + #13#10 +
' Write-Host " EAP-PEAP installed successfully" -ForegroundColor Green' + #13#10 +
' Start-Sleep -Seconds 3' + #13#10 +
' } else {' + #13#10 +
' Write-Host " Installation failed with exit code: $($process.ExitCode)" -ForegroundColor Red' + #13#10 +
' exit $process.ExitCode' + #13#10 +
' }' + #13#10 +
'}' + #13#10 +
'Write-Host ""' + #13#10 +
'' + #13#10 +
'Write-Host "Step 2: Cleaning expired certificates..." -ForegroundColor Yellow' + #13#10 +
'try {' + #13#10 +
' $expiredCerts = Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object { $_.NotAfter -lt (Get-Date) }' + #13#10 +
' if ($expiredCerts) {' + #13#10 +
' $removedCount = 0' + #13#10 +
' foreach ($cert in $expiredCerts) {' + #13#10 +
' try {' + #13#10 +
' Remove-Item -Path "Cert:\CurrentUser\My\$($cert.Thumbprint)" -Force -ErrorAction Stop' + #13#10 +
' $removedCount++' + #13#10 +
' } catch { }' + #13#10 +
' }' + #13#10 +
' Write-Host " Removed $removedCount expired certificates" -ForegroundColor Green' + #13#10 +
' } else {' + #13#10 +
' Write-Host " No expired certificates found" -ForegroundColor Green' + #13#10 +
' }' + #13#10 +
'} catch {' + #13#10 +
' Write-Host " Error: $_" -ForegroundColor Red' + #13#10 +
'}' + #13#10 +
'Write-Host ""' + #13#10 +
'' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host " Phase 1 Complete" -ForegroundColor Cyan' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "WiFi profile will be configured next..." -ForegroundColor Yellow' + #13#10 +
'Write-Host ""';
ScriptPath := ExpandConstant('{tmp}\BlueSSOFix.ps1');
SaveStringToFile(ScriptPath, PowerShellScript, False);
Exec('powershell.exe',
'-NoProfile -ExecutionPolicy Bypass -File "' + ScriptPath + '"',
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
DeleteFile(ScriptPath);
end;
if CurStep = ssPostInstall then
begin
// Build nice PowerShell script for WiFi configuration
XmlPath := ExpandConstant('{commonappdata}\BLUESSO.xml');
CopyFile(ExpandConstant('{tmp}\BLUESSO.xml'), XmlPath, False);
PowerShellScript :=
'Write-Host ""' + #13#10 +
'Write-Host "Step 3: Configuring WiFi profile..." -ForegroundColor Yellow' + #13#10 +
'Write-Host " Removing old BLUESSO profile..." -ForegroundColor Gray' + #13#10 +
'Write-Host ""';
ScriptPath := ExpandConstant('{tmp}\BlueSSOFix_WiFi.ps1');
SaveStringToFile(ScriptPath, PowerShellScript, False);
Exec('powershell.exe',
'-NoProfile -ExecutionPolicy Bypass -File "' + ScriptPath + '"',
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
DeleteFile(ScriptPath);
// Create scheduled task to run as current user (non-elevated)
Exec('cmd.exe',
'/c schtasks /create /tn "BlueSSOFix_WiFi" /tr "cmd.exe /c netsh wlan delete profile name=BLUESSO & netsh wlan add profile filename=' + XmlPath + '" /sc once /st 00:00 /ru "' + CurrentUsername + '" /f',
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
// Run the scheduled task immediately
Exec('cmd.exe',
'/c schtasks /run /tn "BlueSSOFix_WiFi"',
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
Sleep(2000);
// Delete the scheduled task
Exec('cmd.exe',
'/c schtasks /delete /tn "BlueSSOFix_WiFi" /f',
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
// Final success message
PowerShellScript :=
'Write-Host " WiFi profile configured successfully" -ForegroundColor Green' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host " BlueSSOFix Complete!" -ForegroundColor Cyan' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "Summary:" -ForegroundColor White' + #13#10 +
'Write-Host " [OK] EAP-PEAP installed" -ForegroundColor Green' + #13#10 +
'Write-Host " [OK] BLUESSO WiFi profile configured" -ForegroundColor Green' + #13#10 +
'Write-Host " [OK] Expired certificates cleaned" -ForegroundColor Green' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "Press any key to continue..." -ForegroundColor Gray' + #13#10 +
'$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")';
ScriptPath := ExpandConstant('{tmp}\BlueSSOFix_Complete.ps1');
SaveStringToFile(ScriptPath, PowerShellScript, False);
Exec('powershell.exe',
'-NoProfile -ExecutionPolicy Bypass -File "' + ScriptPath + '"',
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
DeleteFile(ScriptPath);
end;
end;

BIN
BlueSSOFix/gea-logo.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
BlueSSOFix/patrick-sm.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
BlueSSOFix/patrick.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -0,0 +1,455 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!--#include file="./includes/header.asp"-->
<!--#include file="./includes/sql.asp"-->
<link rel="stylesheet" href="./leaflet/leaflet.css">
<script src="./leaflet/leaflet.js"></script>
</head>
<%
theme = Request.Cookies("theme")
IF theme = "" THEN
theme="bg-theme1"
END IF
%>
<body class="bg-theme <%Response.Write(theme)%>">
<!-- start loader -->
<div id="pageloader-overlay" class="visible incoming"><div class="loader-wrapper-outer"><div class="loader-wrapper-inner" ><div class="loader"></div></div></div></div>
<!-- end loader -->
<!-- Start wrapper-->
<div id="wrapper">
<!--#include file="./includes/leftsidebar.asp"-->
<!--Start topbar header-->
<!--#include file="./includes/topbarheader.asp"-->
<!--End topbar header-->
<div class="clearfix"></div>
<div class="content-wrapper">
<div class="row">
<div class="col-lg-8 col-xl-9">
<div class="card">
<div class="card-body" style="padding:0;">
<div style="padding:15px; border-bottom:1px solid #444;">
<h5 class="card-title" style="margin:0;">
<i class='zmdi zmdi-map'></i>&nbsp;&nbsp;Printer Installation Map
<span style="float:right; font-size:14px; font-weight:normal;">
<span id="selectedCount" style="color:#4fc3f7;">0</span> printer(s) selected
</span>
</h5>
</div>
<div id="map"></div>
</div>
</div>
</div>
<div class="col-lg-4 col-xl-3">
<div class="card">
<div class="card-header" style="background: linear-gradient(45deg, #667eea, #764ba2); color: white;">
<i class="zmdi zmdi-download"></i> Printer Installer
</div>
<div class="card-body">
<p style="font-size:13px; color:#aaa; margin-bottom:15px;">
Click printers on the map to select them. Selected printers will turn green.
</p>
<div id="selectedPrinters" style="margin-bottom:20px; max-height:300px; overflow-y:auto;">
<div style="color:#888; font-size:12px; text-align:center; padding:20px;">
No printers selected yet
</div>
</div>
<button id="installBtn" class="btn btn-primary btn-block" style="display:none;" onclick="downloadInstaller()">
<i class="zmdi zmdi-download"></i> Download Installer
</button>
<button class="btn btn-outline-secondary btn-block btn-sm" onclick="clearSelection()">
<i class="zmdi zmdi-close"></i> Clear Selection
</button>
<div style="margin-top:20px; padding:15px; background:#2a2a2a; border-radius:4px; font-size:12px;">
<strong style="color:#4fc3f7;">Legend:</strong>
<div style="margin-top:8px;">
<span style="display:inline-block; width:10px; height:10px; background:#888; border-radius:50%; margin-right:8px;"></span> Not Selected<br>
<span style="display:inline-block; width:10px; height:10px; background:#4caf50; border-radius:50%; margin-right:8px; margin-top:5px;"></span> Selected
</div>
</div>
</div>
</div>
</div>
</div><!--End Row-->
</div><!--End content-wrapper-->
<!--Start Back To Top Button-->
<a href="javaScript:void();" class="back-to-top"><i class="fa fa-angle-double-up"></i> </a>
<!--End Back To Top Button-->
<!--Start footer-->
<footer class="footer">
</div>
</footer>
<!--End footer-->
</div><!--End wrapper-->
<!-- Bootstrap core JavaScript-->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/popper.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/plugins/simplebar/js/simplebar.js"></script>
<script src="assets/js/sidebar-menu.js"></script>
<script src="assets/js/app-script.js"></script>
<style>
#map {
width: 100%;
height: calc(100vh - 250px);
min-height: 600px;
background-color: #1a1a1a;
}
.leaflet-control-zoom a {
background-color: #2a2a2a !important;
color: #fff !important;
border-color: #444 !important;
}
.leaflet-control-zoom a:hover {
background-color: #3a3a3a !important;
}
.leaflet-bar {
border: 1px solid #444 !important;
}
.leaflet-popup-content-wrapper {
background: transparent !important;
color: #fff !important;
box-shadow: 0 3px 14px rgba(0,0,0,0.6) !important;
border-radius: 4px !important;
padding: 0 !important;
}
.leaflet-popup-content {
margin: 0 !important;
}
.leaflet-popup-tip-container {
display: none !important;
}
.leaflet-popup-close-button {
color: #fff !important;
font-size: 24px !important;
padding: 4px 8px 0 0 !important;
}
.leaflet-control-attribution {
display: none !important;
}
.selected-printer-item {
padding: 8px;
margin-bottom: 8px;
background: #2a2a2a;
border-left: 3px solid #4caf50;
border-radius: 3px;
font-size: 12px;
color: #fff;
}
.selected-printer-item .remove-btn {
float: right;
color: #f44336;
cursor: pointer;
font-size: 14px;
}
</style>
<script>
// Get current theme
var bodyClass = document.body.className;
var themeMatch = bodyClass.match(/bg-theme(\d+)/);
var theme = themeMatch ? 'bg-theme' + themeMatch[1] : 'bg-theme1';
var themeConfig = {
'bg-theme1': { bg: '#2a2a2a', filter: 'brightness(0.7) contrast(1.1)', gradient: 'linear-gradient(45deg, #3a3a3a, #4a4a4a)' },
'bg-theme7': { bg: '#0c675e', filter: 'brightness(0.8) contrast(1.1) hue-rotate(-10deg)', gradient: 'linear-gradient(45deg, #0c675e, #069e90)' },
'bg-theme11': { bg: '#1565C0', filter: 'brightness(0.85) contrast(1.05) hue-rotate(-5deg)', gradient: 'linear-gradient(45deg, #1565C0, #1E88E5)' }
};
var config = themeConfig[theme] || { bg: '#1a1a1a', filter: 'brightness(0.7) contrast(1.1)', gradient: 'linear-gradient(45deg, #667eea, #764ba2)' };
document.getElementById('map').style.backgroundColor = config.bg;
var map = L.map('map', {
crs: L.CRS.Simple,
minZoom: -3
});
var bounds = [[0,0], [2550,3300]];
var lightThemes = ['bg-theme11', 'bg-theme13'];
var mapImage = lightThemes.includes(theme) ? './images/sitemap2025-light.png' : './images/sitemap2025-dark.png';
var image = L.imageOverlay(mapImage, bounds);
image.on('load', function() {
var imgElement = this.getElement();
if (imgElement) {
imgElement.style.filter = config.filter;
}
});
image.addTo(map);
var center = [1275, 1650];
map.setView(center, -2.3);
// Store printer data and markers
var printerData = {};
var selectedPrinters = {};
<%
strSQL = "SELECT machines.mapleft, machines.maptop, machines.machinenumber, printers.printerid, " &_
"printers.printercsfname, printers.printerwindowsname, models.modelnumber, models.image, " &_
"printers.ipaddress, printers.fqdn, machines.alias, vendors.vendor " &_
"FROM machines, printers, models, vendors WHERE " &_
"printers.modelid = models.modelnumberid AND " &_
"models.vendorid = vendors.vendorid AND " &_
"printers.machineid != 1 AND " &_
"printers.machineid = machines.machineid AND " &_
"printers.isactive = 1 AND " &_
"(vendors.vendor = 'HP' OR vendors.vendor = 'Xerox')"
set rs = objconn.Execute(strSQL)
while not rs.eof
mapleft = rs("mapleft")
maptop = rs("maptop")
maptop = 2550-maptop
printerid = rs("printerid")
printercsfname = rs("printercsfname")
modelnumber = rs("modelnumber")
image = rs("image")
ipaddress = rs("ipaddress")
fqdn = rs("fqdn")
vendor = rs("vendor")
' Get machine name
if NOT IsNull(rs("alias")) AND rs("alias") <> "" THEN
machineName = rs("alias")
else
machineName = rs("machinenumber")
end if
location = machineName
if image = "" THEN
image = "Versalink-C7125.png"
end if
' Generate standardized printer name using same logic as api_printers.asp
Dim cleanMachine, cleanModel, shortDescription, standardName
cleanMachine = Replace(machineName, " ", "")
cleanMachine = Replace(cleanMachine, "Machine", "")
cleanModel = Replace(modelnumber, " ", "")
' Extract short description from model number
If InStr(cleanModel, "ColorLaserJet") > 0 Then
shortDescription = "ColorLaserJet"
ElseIf InStr(cleanModel, "LaserJetPro") > 0 Then
shortDescription = "LaserJetPro"
ElseIf InStr(cleanModel, "LaserJet") > 0 Then
shortDescription = "LaserJet"
ElseIf InStr(cleanModel, "Altalink") > 0 Then
shortDescription = "Altalink"
ElseIf InStr(cleanModel, "Versalink") > 0 Then
shortDescription = "Versalink"
ElseIf InStr(cleanModel, "DesignJet") > 0 Then
shortDescription = "DesignJet"
Else
' Extract model prefix before numbers
Dim i, char
shortDescription = ""
For i = 1 To Len(cleanModel)
char = Mid(cleanModel, i, 1)
If char >= "0" And char <= "9" Then
Exit For
End If
shortDescription = shortDescription & char
Next
If shortDescription = "" Then
shortDescription = cleanModel
End If
End If
' Build standard name: CSFName-Location-VendorModel (no dash between vendor and model)
If printercsfname <> "" And printercsfname <> "NONE" And printercsfname <> "gage lab " Then
If cleanMachine <> "" Then
standardName = printercsfname & "-" & cleanMachine & "-" & vendor & shortDescription
Else
standardName = printercsfname & "-" & vendor & shortDescription
End If
Else
If cleanMachine <> "" Then
standardName = cleanMachine & "-" & vendor & shortDescription
Else
standardName = "Printer" & printerid & "-" & vendor & shortDescription
End If
End If
printerwindowsname = standardName
%>
(function() {
var printerId = '<%Response.Write(printerid)%>';
var printerName = '<%Response.Write(printerwindowsname)%>';
var csfName = '<%Response.Write(printercsfname)%>';
var location = '<%Response.Write(location)%>';
printerData[printerId] = {
name: printerName,
csf: csfName,
location: location,
model: '<%Response.Write(modelnumber)%>',
ip: '<%Response.Write(ipaddress)%>',
fqdn: '<%Response.Write(fqdn)%>'
};
var normalIcon = L.icon({
iconUrl: './images/printers/<%Response.Write(image)%>',
iconSize: [60, 60],
iconAnchor: [30, 30],
popupAnchor: [0, -30],
className: 'printer-icon-normal'
});
var selectedIcon = L.icon({
iconUrl: './images/printers/<%Response.Write(image)%>',
iconSize: [70, 70],
iconAnchor: [35, 35],
popupAnchor: [0, -35],
className: 'printer-icon-selected'
});
var marker = L.marker([<%Response.Write(maptop)%>, <%Response.Write(mapleft)%>], {
title: printerName,
icon: normalIcon,
printerId: printerId
}).addTo(map);
printerData[printerId].marker = marker;
printerData[printerId].normalIcon = normalIcon;
printerData[printerId].selectedIcon = selectedIcon;
marker.on('click', function() {
togglePrinter(printerId);
});
var popupContent = '<div style="background:#1f1f1f; color:#fff; min-width:280px; border-radius:4px; overflow:hidden;">' +
'<div style="background:' + config.gradient + '; padding:10px 15px; border-bottom:1px solid #444;">' +
'<h6 style="margin:0; color:#fff; font-size:14px;"><%Response.Write(printerwindowsname)%></h6>' +
'</div>' +
'<div style="padding:10px 15px; font-size:12px;">' +
'<div style="margin:5px 0;"><strong style="color:#aaa;">CSF:</strong> <span style="color:#fff;"><%Response.Write(printercsfname)%></span></div>' +
'<div style="margin:5px 0;"><strong style="color:#aaa;">Location:</strong> <span style="color:#fff;"><%Response.Write(location)%></span></div>' +
'<div style="margin:5px 0;"><strong style="color:#aaa;">Model:</strong> <span style="color:#fff;"><%Response.Write(modelnumber)%></span></div>' +
'</div>' +
'<div style="padding:10px 15px; border-top:1px solid #444; text-align:center;">' +
'<button onclick="togglePrinter(\'' + printerId + '\')" style="background:' + config.gradient + '; color:#fff; border:none; padding:6px 16px; border-radius:3px; cursor:pointer; font-size:12px;">' +
'<i class="zmdi zmdi-plus"></i> <span id="toggle-btn-' + printerId + '">Add to Selection</span>' +
'</button>' +
'</div>' +
'</div>';
marker.bindPopup(popupContent);
})();
<%
rs.movenext
Wend
objConn.Close
%>
// Add CSS for selected markers
var style = document.createElement('style');
style.innerHTML = `
.printer-icon-selected {
filter: drop-shadow(0 0 10px #4caf50) brightness(1.3);
z-index: 1000 !important;
}
.printer-icon-normal {
filter: grayscale(50%) brightness(0.8);
}
`;
document.head.appendChild(style);
function togglePrinter(printerId) {
if (selectedPrinters[printerId]) {
// Deselect
delete selectedPrinters[printerId];
printerData[printerId].marker.setIcon(printerData[printerId].normalIcon);
} else {
// Select
selectedPrinters[printerId] = true;
printerData[printerId].marker.setIcon(printerData[printerId].selectedIcon);
}
updateSelectionUI();
updatePopupButton(printerId);
}
function updatePopupButton(printerId) {
var btn = document.getElementById('toggle-btn-' + printerId);
if (btn) {
if (selectedPrinters[printerId]) {
btn.innerHTML = 'Remove from Selection';
btn.parentElement.innerHTML = btn.parentElement.innerHTML.replace('zmdi-plus', 'zmdi-minus');
} else {
btn.innerHTML = 'Add to Selection';
btn.parentElement.innerHTML = btn.parentElement.innerHTML.replace('zmdi-minus', 'zmdi-plus');
}
}
}
function updateSelectionUI() {
var count = Object.keys(selectedPrinters).length;
document.getElementById('selectedCount').innerText = count;
var container = document.getElementById('selectedPrinters');
var installBtn = document.getElementById('installBtn');
if (count === 0) {
container.innerHTML = '<div style="color:#888; font-size:12px; text-align:center; padding:20px;">No printers selected yet</div>';
installBtn.style.display = 'none';
} else {
var html = '';
for (var printerId in selectedPrinters) {
var printer = printerData[printerId];
html += '<div class="selected-printer-item">' +
'<span class="remove-btn" onclick="togglePrinter(\'' + printerId + '\')">×</span>' +
'<strong>' + (printer.csf || 'N/A') + '</strong><br>' +
'<span style="font-size:11px; color:#aaa;">' + printer.location + '</span>' +
'</div>';
}
container.innerHTML = html;
installBtn.style.display = 'block';
}
}
function clearSelection() {
for (var printerId in selectedPrinters) {
printerData[printerId].marker.setIcon(printerData[printerId].normalIcon);
}
selectedPrinters = {};
updateSelectionUI();
}
function downloadInstaller() {
var printerNames = [];
for (var printerId in selectedPrinters) {
printerNames.push(printerData[printerId].name);
}
if (printerNames.length === 0) {
alert('Please select at least one printer');
return;
}
// Generate download link with all selected printers
var printerParam = printerNames.join(',');
window.location.href = 'install_printer.asp?printer=' + encodeURIComponent(printerParam);
}
</script>
</body>
</html>

View File

@@ -0,0 +1,348 @@
; HID Card Printer Driver Installer
; Installs drivers for HID card printers (DTC4500e, DTC1250e, etc.)
[Setup]
AppId={{9F7E2B3C-4A1D-5E8F-B6C9-1D3A5F7E2C4B}}
AppName=WJDT HID Card Printer Driver Installer
AppVersion=1.0
AppPublisher=WJDT
AppPublisherURL=http://tsgwp00524.logon.ds.ge.com
AppSupportURL=http://tsgwp00524.logon.ds.ge.com
AppUpdatesURL=http://tsgwp00524.logon.ds.ge.com
CreateAppDir=no
ChangesAssociations=no
PrivilegesRequired=admin
OutputDir=C:\Users\570005354\Downloads\Output
OutputBaseFilename=HIDCardPrinterInstaller
SolidCompression=yes
WizardStyle=modern
SetupIconFile=gea-logo.ico
WizardImageFile=patrick.bmp
WizardSmallImageFile=patrick-sm.bmp
CreateUninstallRegKey=no
DisableWelcomePage=no
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Messages]
WelcomeLabel2=This utility will install HID card printer drivers for badge and ID card printing.%n%nIt will:%n- Install HID card printer drivers%n- Support USB-connected card printers%n- Configure drivers for Windows%n%nSupported Models:%n- HID FARGO DTC4500e%n- HID FARGO DTC1250e%n- HID FARGO HDP5000%n%nClick Next to continue.
[Files]
; HID DTC4500e Driver
Source: "drivers\HID_DTC4500e\*"; DestDir: "{tmp}\hid_dtc4500e"; Flags: ignoreversion recursesubdirs
; Add additional HID models here as needed
; Source: "drivers\HID_DTC1250e\*"; DestDir: "{tmp}\hid_dtc1250e"; Flags: ignoreversion recursesubdirs
; Source: "drivers\HID_HDP5000\*"; DestDir: "{tmp}\hid_hdp5000"; Flags: ignoreversion recursesubdirs
[Code]
var
ModelSelectionPage: TInputOptionWizardPage;
AvailableModels: array of record
ModelName: String;
DriverPath: String;
InfFile: String;
DriverDisplayName: String;
end;
// Initialize available printer models
procedure InitializeModels();
begin
SetArrayLength(AvailableModels, 1); // Expand to 3 when you have more drivers
// HID FARGO DTC4500e
AvailableModels[0].ModelName := 'HID FARGO DTC4500e';
AvailableModels[0].DriverPath := ExpandConstant('{tmp}\hid_dtc4500e');
AvailableModels[0].InfFile := 'dtc4500e.inf'; // Update with actual INF filename
AvailableModels[0].DriverDisplayName := 'HID FARGO DTC4500e Card Printer';
// Add more models when drivers are available:
// AvailableModels[1].ModelName := 'HID FARGO DTC1250e';
// AvailableModels[1].DriverPath := ExpandConstant('{tmp}\hid_dtc1250e');
// AvailableModels[1].InfFile := 'dtc1250e.inf';
// AvailableModels[1].DriverDisplayName := 'HID FARGO DTC1250e Card Printer';
end;
// Check which drivers are already installed
function CheckInstalledDrivers(): Boolean;
var
ResultCode: Integer;
TempScriptPath, TempOutputPath: String;
PSScript: String;
Output: AnsiString;
Lines: TStringList;
I, J: Integer;
FoundDriver: Boolean;
begin
Result := False;
// Build PowerShell script to get installed printer drivers
PSScript :=
'try {' + #13#10 +
' Get-PrinterDriver | Select-Object -ExpandProperty Name | ForEach-Object { Write-Output $_ }' + #13#10 +
'} catch { exit 1 }';
TempScriptPath := ExpandConstant('{tmp}\check_drivers.ps1');
TempOutputPath := ExpandConstant('{tmp}\drivers_output.txt');
SaveStringToFile(TempScriptPath, PSScript, False);
if not Exec('powershell.exe',
'-NoProfile -ExecutionPolicy Bypass -Command "& ''' + TempScriptPath + ''' | Out-File -FilePath ''' + TempOutputPath + ''' -Encoding ASCII"',
'', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
begin
DeleteFile(TempScriptPath);
Exit;
end;
DeleteFile(TempScriptPath);
if not FileExists(TempOutputPath) then
Exit;
if not LoadStringFromFile(TempOutputPath, Output) then
begin
DeleteFile(TempOutputPath);
Exit;
end;
DeleteFile(TempOutputPath);
Lines := TStringList.Create;
try
Lines.Text := Output;
Result := True; // Successfully retrieved driver list
finally
Lines.Free;
end;
end;
// Initialize wizard pages
procedure InitializeWizard();
var
I: Integer;
DisplayText: String;
begin
// Initialize available models
InitializeModels();
// Check which drivers are installed
CheckInstalledDrivers();
// Create model selection page
ModelSelectionPage := CreateInputOptionPage(wpWelcome,
'Select Card Printer Models',
'Choose which HID card printer drivers to install',
'Select the models you need. Drivers will be installed for USB-connected card printers.',
False,
False);
// Add models to selection page
for I := 0 to GetArrayLength(AvailableModels) - 1 do
begin
DisplayText := AvailableModels[I].ModelName + ' - USB Card Printer';
ModelSelectionPage.Add(DisplayText);
// Default to selected
ModelSelectionPage.Values[I] := True;
end;
end;
// Validate selection before continuing
function NextButtonClick(CurPageID: Integer): Boolean;
var
I: Integer;
HasSelection: Boolean;
begin
Result := True;
if CurPageID = ModelSelectionPage.ID then
begin
HasSelection := False;
// Check if at least one model is selected
for I := 0 to GetArrayLength(AvailableModels) - 1 do
begin
if ModelSelectionPage.Values[I] then
begin
HasSelection := True;
Break;
end;
end;
if not HasSelection then
begin
MsgBox('Please select at least one printer model to install.',
mbInformation, MB_OK);
Result := False;
end;
end;
end;
// Install drivers during installation phase
procedure CurStepChanged(CurStep: TSetupStep);
var
I: Integer;
PSScript: String;
TempScriptPath: String;
ResultCode: Integer;
SelectedCount: Integer;
begin
// Run after files are extracted but before finishing
if CurStep = ssPostInstall then
begin
// Count selected models
SelectedCount := 0;
for I := 0 to GetArrayLength(AvailableModels) - 1 do
begin
if ModelSelectionPage.Values[I] then
SelectedCount := SelectedCount + 1;
end;
if SelectedCount = 0 then
Exit;
// Build PowerShell installation script
PSScript :=
'$ErrorActionPreference = "Continue"' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host " HID Card Printer Driver Installer" -ForegroundColor Cyan' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host ""' + #13#10 +
'' + #13#10 +
'# Function to install card printer driver' + #13#10 +
'function Install-CardPrinterDriver {' + #13#10 +
' param(' + #13#10 +
' [string]$ModelName,' + #13#10 +
' [string]$DriverPath,' + #13#10 +
' [string]$InfFile' + #13#10 +
' )' + #13#10 +
'' + #13#10 +
' try {' + #13#10 +
' Write-Host ""' + #13#10 +
' Write-Host "Installing: $ModelName" -ForegroundColor Cyan' + #13#10 +
' Write-Host " Driver Path: $DriverPath" -ForegroundColor Gray' + #13#10 +
'' + #13#10 +
' $infPath = Join-Path $DriverPath $InfFile' + #13#10 +
' if (-not (Test-Path $infPath)) {' + #13#10 +
' Write-Host " ERROR: INF file not found: $infPath" -ForegroundColor Red' + #13#10 +
' return $false' + #13#10 +
' }' + #13#10 +
'' + #13#10 +
' Write-Host " INF File: $InfFile" -ForegroundColor Gray' + #13#10 +
'' + #13#10 +
' # Locate pnputil.exe' + #13#10 +
' $pnputil = $null' + #13#10 +
' $pnputilLocations = @(' + #13#10 +
' (Join-Path $env:SystemRoot "System32\pnputil.exe"),' + #13#10 +
' (Join-Path $env:SystemRoot "SysNative\pnputil.exe"),' + #13#10 +
' "C:\Windows\System32\pnputil.exe"' + #13#10 +
' )' + #13#10 +
'' + #13#10 +
' foreach ($location in $pnputilLocations) {' + #13#10 +
' if (Test-Path $location) {' + #13#10 +
' $pnputil = $location' + #13#10 +
' break' + #13#10 +
' }' + #13#10 +
' }' + #13#10 +
'' + #13#10 +
' if (-not $pnputil) {' + #13#10 +
' $pnputil = "pnputil.exe"' + #13#10 +
' }' + #13#10 +
'' + #13#10 +
' # Install driver package using pnputil' + #13#10 +
' Write-Host " Installing driver package..." -ForegroundColor Yellow' + #13#10 +
' try {' + #13#10 +
' $pnpResult = & $pnputil /add-driver $infPath /install /force 2>&1' + #13#10 +
' $pnpExitCode = $LASTEXITCODE' + #13#10 +
'' + #13#10 +
' # Exit code 0 = success, 259 = driver already installed' + #13#10 +
' if ($pnpExitCode -eq 0 -or $pnpExitCode -eq 259) {' + #13#10 +
' if ($pnpExitCode -eq 259) {' + #13#10 +
' Write-Host " Driver already installed" -ForegroundColor Green' + #13#10 +
' } else {' + #13#10 +
' Write-Host " Driver package installed successfully" -ForegroundColor Green' + #13#10 +
' }' + #13#10 +
' return $true' + #13#10 +
' } else {' + #13#10 +
' Write-Host " Warning: pnputil returned code $pnpExitCode" -ForegroundColor Yellow' + #13#10 +
' Write-Host " $pnpResult" -ForegroundColor Gray' + #13#10 +
' return $false' + #13#10 +
' }' + #13#10 +
' } catch {' + #13#10 +
' Write-Host " ERROR: $_" -ForegroundColor Red' + #13#10 +
' return $false' + #13#10 +
' }' + #13#10 +
' } catch {' + #13#10 +
' Write-Host " ERROR: $_" -ForegroundColor Red' + #13#10 +
' return $false' + #13#10 +
' }' + #13#10 +
'}' + #13#10 +
'' + #13#10 +
'Write-Host "Installing selected HID card printer drivers..." -ForegroundColor Cyan' + #13#10 +
'Write-Host ""' + #13#10 +
'' + #13#10 +
'$successCount = 0' + #13#10 +
'$failCount = 0' + #13#10 +
'' + #13#10;
// Add installation commands for each selected model
for I := 0 to GetArrayLength(AvailableModels) - 1 do
begin
if ModelSelectionPage.Values[I] then
begin
PSScript := PSScript +
'if (Install-CardPrinterDriver -ModelName "' + AvailableModels[I].ModelName + '" ' +
'-DriverPath "' + AvailableModels[I].DriverPath + '" ' +
'-InfFile "' + AvailableModels[I].InfFile + '") {' + #13#10 +
' $successCount++' + #13#10 +
'} else {' + #13#10 +
' $failCount++' + #13#10 +
'}' + #13#10;
end;
end;
// Add summary
PSScript := PSScript +
'' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host " Installation Complete" -ForegroundColor Cyan' + #13#10 +
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
'Write-Host ""' + #13#10 +
'if ($successCount -gt 0) {' + #13#10 +
' Write-Host " Drivers installed: $successCount" -ForegroundColor Green' + #13#10 +
'}' + #13#10 +
'if ($failCount -gt 0) {' + #13#10 +
' Write-Host " Failed installations: $failCount" -ForegroundColor Red' + #13#10 +
'}' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "Next Steps:" -ForegroundColor Cyan' + #13#10 +
'Write-Host " 1. Connect your HID card printer via USB" -ForegroundColor Gray' + #13#10 +
'Write-Host " 2. Windows will detect and configure it automatically" -ForegroundColor Gray' + #13#10 +
'Write-Host " 3. Go to Devices and Printers to verify" -ForegroundColor Gray' + #13#10 +
'Write-Host ""' + #13#10 +
'Write-Host "Press any key to close..." -ForegroundColor Gray' + #13#10 +
'$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")';
// Save and execute script
TempScriptPath := ExpandConstant('{tmp}\install_hid_drivers.ps1');
SaveStringToFile(TempScriptPath, PSScript, False);
Exec('powershell.exe',
'-NoProfile -ExecutionPolicy Bypass -File "' + TempScriptPath + '"',
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
DeleteFile(TempScriptPath);
end;
end;
// Skip directory selection
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := False;
if PageID = wpSelectDir then
Result := True;
end;

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@


Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

View File

@@ -0,0 +1,179 @@
;
;
; Fargo Printer Driver
; Fargo DTC4500e Printer INF for Windows XP; Windows Server 2003; Windows Vista; Windows 7; Server 2008R1; Windows Server 2008R2; Windows 8; Windows Server 2012
; Copyright (c) HID Global 2002-2014
;
;
[Version]
Signature="$Windows NT$"
Provider=%OEM%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
CatalogFile=DTC4500e_x64.cat
; Date & version of driver package
DriverVer=10/18/2022, 5.5.0.0
;
; Manufacturer section.
;
; This section lists all of the manufacturers
; that we will display in the Dialog box
;
[Manufacturer]
%Manufacturer%=FARGO,NTamd64
;
; Model sections.
;
; Each section here corresponds with an entry listed in the
; [Manufacturer] section, above. The models will be displayed in the order
; that they appear in the INF file.
;
[FARGO.NTamd64]
;
; DisplayName Section DeviceID
; ----------- ------- --------
"DTC4500e Card Printer" = DTC4500e, USBPRINT\HID_GlobalDTC4500e050F,HID_GlobalDTC4500e050F
;
; Comment out the following line until the INF Syntax Test failure is resolved
; The line was added for Windows Rally support per the "PnP-X: Plug and Play Extensions
; for Windows" specification.
;"DTC4500e Card Printer" = DTC4500e, UMB\Fargo_DTC4500e8534
;
; Installer Sections
;
; These sections control file installation, and reference all files that
; need to be copied. The section name will be assumed to be the driver
; file, unless there is an explicit DriverFile section listed.
;
[DTC4500e]
CopyFiles = DTC4500eCOPY, DTC4500eLM_COPY, DTC4500e_COLOR_PROFILES
DataSection = DTC4500eDATA
;
; Data Sections
;
[DTC4500eDATA]
DriverFile = DTC4500eGR.dll
DataFile = DTC4500eGR.dll
ConfigFile = DTC4500eUI.dll
HelpFile = DTC4500eHLP.HLP
LanguageMonitor = %OEM_MONITOR%
;
; Copy Sections
;
; Lists of files that are actually copied. These sections are referenced
; from the installer sections, above. Only create a section if it contains
; two or more files (if we only copy a single file, identify it in the
; installer section, using the @filename notation) or if it's a color
; profile (since the DestinationDirs can only handle sections, and not
; individual files).
;
[DTC4500e_COLOR_PROFILES]
DTC4500eCLR.icm,,,0x00000020 ; Copy only if new binary
DTC4500eCLR_L.icm,,,0x00000020 ; Copy only if new binary
[DTC4500eLM_COPY]
DTC4500eLM.dll,,,0x00000020 ; Copy only if new binary
[DTC4500eCOPY]
DTC4500eGR.dll
DTC4500eUI.dll
DTC4500eHlp.hlp
DTC4500e_BO_Tst.prn
DTC4500e_K_CLR_Tst.prn
DTC4500e_K_PRM_Tst.prn
DTC4500e_K_STD_Tst.prn
DTC4500e_KO_Tst.prn
DTC4500e_NONE_Tst.prn
DTC4500e_YMCFKO_Tst.prn
DTC4500e_YMCFKOK_Tst.prn
DTC4500e_YMCKK_Tst.prn
DTC4500e_YMCKO_Half_Tst.prn
DTC4500e_YMCKO_Tst.prn
DTC4500e_YMCKOK_Tst.prn
DTC4500eIPN.bmp
DTC4500eIPR.bmp
DTC4500eILN.bmp
DTC4500eILR.bmp
DTC4500eLPN.bmp
DTC4500eLPR.bmp
DTC4500eLLN.bmp
DTC4500eLLR.bmp
DTC4500eColor.bmp
DTC4500etbo.exe
DTC4500eMon.exe
DTC4500ePNP.dll
DTC4500eResEN.dll
;
; Call SetupSetDirectoryId with 66000 to set the target directory at runtime
; (depending on which environment drivers are getting installed)
;
[DestinationDirs]
DefaultDestDir = 66000
DTC4500eLM_COPY = 66002
DTC4500e_COLOR_PROFILES = 66003
[SourceDisksNames.amd64]
1 = %Disk1%,,,""
[SourceDisksFiles.amd64]
DTC4500eGR.dll = 1
DTC4500eUI.dll = 1
DTC4500eLM.dll = 1
DTC4500eResEN.dll = 1
DTC4500ePNP.dll = 1
DTC4500eHlp.hlp = 1
DTC4500e_BO_Tst.prn = 1
DTC4500e_K_CLR_Tst.prn = 1
DTC4500e_K_PRM_Tst.prn = 1
DTC4500e_K_STD_Tst.prn = 1
DTC4500e_KO_Tst.prn = 1
DTC4500e_NONE_Tst.prn = 1
DTC4500e_YMCFKO_Tst.prn = 1
DTC4500e_YMCFKOK_Tst.prn = 1
DTC4500e_YMCKK_Tst.prn = 1
DTC4500e_YMCKO_Half_Tst.prn = 1
DTC4500e_YMCKO_Tst.prn = 1
DTC4500e_YMCKOK_Tst.prn = 1
DTC4500eIPN.bmp = 1
DTC4500eIPR.bmp = 1
DTC4500eILN.bmp = 1
DTC4500eILR.bmp = 1
DTC4500eLPN.bmp = 1
DTC4500eLPR.bmp = 1
DTC4500eLLN.bmp = 1
DTC4500eLLR.bmp = 1
DTC4500eColor.bmp = 1
DTC4500etbo.exe = 1
DTC4500eMon.exe = 1
DTC4500eCLR.icm = 1
DTC4500eCLR_L.icm = 1
;
; Localizable Strings
;
[Strings]
OEM="Fargo"
PrinterClassName="Printers"
Disk1="OEM Driver Setup Disk 1"
OEM_MONITOR="DTC4500e Language Monitor,DTC4500eLM.DLL"
Manufacturer = "Fargo"
DTC4500e = "DTC4500e Card Printer"

Binary file not shown.

View File

@@ -0,0 +1,15 @@
[RemPort]
Name=DTC4500e TCP/IP Card Printer Port
Description=DTC4500e Card Printer TCP/IP Port
PortNameFormat=DTC4500ePTR::%s
; Supported values for OnPrintJobNotConfirmedDefault are:
; 0 = restart
; 1 = purge
; 2 = retain
;OnPrintJobNotConfirmedDefault=0
;
; Default if this is *NOT* defined is "restart"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More