Files
inno-installers/HIDCardPrinter/README.md
cproudlock 28541cd3ed 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>
2025-12-30 13:15:54 -05:00

9.7 KiB

HID Card Printer Driver Installer

Universal driver installer for HID FARGO card printers (badge and ID card printing).

Overview

This Inno Setup installer installs USB drivers for HID FARGO card printers used for printing employee badges, ID cards, and access cards. The installer supports multiple HID models and automatically configures drivers for USB-connected devices.

Features

  • Multi-Model Support: Install drivers for multiple HID card printer models
  • Simple Selection: Checkbox interface to choose which models to install
  • USB Driver Installation: Uses pnputil for proper Windows driver installation
  • Professional UI: Custom branding with GEA logo and Patrick artwork
  • Admin Installation: Requires administrator privileges for driver installation
  • Plug-and-Play: Once drivers are installed, USB card printers auto-configure

Requirements

To Build

  • Inno Setup 6.x installed on Windows
  • HID card printer drivers in drivers/ subdirectories
  • Access to build machine

To Run

  • Windows 10/11 (64-bit or 32-bit)
  • Administrator privileges
  • USB ports for card printer connection

Project Structure

HIDCardPrinter/
├── HIDCardPrinter.iss            # Main Inno Setup script
├── README.md                      # This file
├── gea-logo.ico                   # Application icon
├── patrick.bmp                    # Large wizard image (164x314px)
├── patrick-sm.bmp                 # Small wizard image (55x58px)
└── drivers/
    ├── HID_DTC4500e/              # HID FARGO DTC4500e driver files
    │   ├── dtc4500e.inf           # Main driver INF file
    │   └── ...                    # Supporting driver files
    ├── HID_DTC1250e/              # HID FARGO DTC1250e driver files (optional)
    │   └── ...
    └── HID_HDP5000/               # HID FARGO HDP5000 driver files (optional)
        └── ...

Supported Card Printers

Currently Configured

  • HID FARGO DTC4500e - Single-sided and dual-sided card printer

Expandable Support (add drivers to enable)

  • HID FARGO DTC1250e - Entry-level card printer
  • HID FARGO HDP5000 - High-definition card printer
  • HID FARGO DTC4250e - Mid-range card printer
  • Any other HID FARGO model with Windows drivers

Adding Driver Files

Step 1: Obtain HID Driver Package

  1. Download the driver from:

  2. Extract the driver package to a temporary location

Step 2: Locate the INF File

Find the main driver INF file (e.g., dtc4500e.inf, hidcard.inf, etc.)

Step 3: Copy Driver Files

# On Linux (via your mapped directory)
mkdir -p ~/projects/inno/HIDCardPrinter/drivers/HID_DTC4500e
cp -r /path/to/extracted/driver/* ~/projects/inno/HIDCardPrinter/drivers/HID_DTC4500e/

Step 4: Update HIDCardPrinter.iss

Edit line 61 to update the actual INF filename:

AvailableModels[0].InfFile := 'your_actual_inf_filename.inf';  // Update this

Step 5: Add Additional Models (Optional)

To support multiple models, uncomment and configure additional entries in HIDCardPrinter.iss:

  1. Uncomment the [Files] section (around line 35):
Source: "drivers\HID_DTC1250e\*"; DestDir: "{tmp}\hid_dtc1250e"; Flags: ignoreversion recursesubdirs
  1. Increase array size (line 51):
SetArrayLength(AvailableModels, 3);  // Change from 1 to number of models
  1. Add model configuration (after line 62):
// HID FARGO DTC1250e
AvailableModels[1].ModelName := 'HID FARGO DTC1250e';
AvailableModels[1].DriverPath := ExpandConstant('{tmp}\hid_dtc1250e');
AvailableModels[1].InfFile := 'dtc1250e.inf';  // Update with actual filename
AvailableModels[1].DriverDisplayName := 'HID FARGO DTC1250e Card Printer';

Building the Installer

On Windows

  1. Open Inno Setup Compiler
  2. File → Open → Select HIDCardPrinter.iss
  3. Build → Compile (or press F9)
  4. Output file created at: C:\Users\570005354\Downloads\Output\HIDCardPrinterInstaller.exe

Command Line

"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "C:\path\to\HIDCardPrinter.iss"

Installation Process

When a user runs HIDCardPrinterInstaller.exe:

  1. Welcome Page: Explains what the installer does
  2. Model Selection: User selects which card printer models to install drivers for
  3. Ready Page: Confirms selections
  4. Driver Installation:
    • Extracts drivers to temp folder
    • Uses pnputil /add-driver to install driver packages
    • Shows progress in PowerShell window
  5. Summary: Shows installation results and next steps

How It Works

Driver Installation

The installer uses Windows pnputil.exe to properly install driver packages:

pnputil /add-driver [inf_file_path] /install /force

Benefits:

  • Drivers installed to Windows driver store
  • Digitally signed drivers validated
  • Proper driver versioning
  • Automatic device configuration on USB connection

USB Plug-and-Play

After driver installation:

  1. User plugs in HID card printer via USB
  2. Windows detects the device
  3. Windows matches device to installed driver
  4. Printer automatically configures and appears in "Devices and Printers"
  5. User can print test cards immediately

Command-Line Parameters

Silent Installation

Run installer silently (no UI):

HIDCardPrinterInstaller.exe /VERYSILENT /NORESTART

Troubleshooting

"Driver installation failed"

  • Solution: Ensure running as Administrator
  • Check: Windows version compatibility (Windows 10/11 supported)
  • Verify: Driver files are present in drivers/ folder
  • Confirm: INF filename in script matches actual file

"INF file not found"

  • Solution: Check the InfFile parameter in HIDCardPrinter.iss
  • Update: Line 61 with the correct INF filename from your driver package
  • Verify: File exists in drivers/HID_DTC4500e/ directory

"Device not detected after installation"

  • Solution:
    1. Restart computer after driver installation
    2. Plug in USB card printer
    3. Wait 30 seconds for Windows to detect
    4. Check Device Manager for any errors

"Driver already installed" message

  • Normal: Driver was previously installed or is built into Windows
  • Action: No action needed - printer should work normally

Finding the INF File

If you're not sure which file is the INF:

# On Linux
find ~/projects/inno/HIDCardPrinter/drivers/HID_DTC4500e/ -name "*.inf"

# On Windows
dir drivers\HID_DTC4500e\*.inf /s

The INF file typically contains:

  • Device IDs (USB\VID_XXXX&PID_XXXX)
  • Driver class (Printer, USB, etc.)
  • Installation instructions for Windows

Customization

Change Database Server or Query Logic

This installer is standalone and doesn't query a database. All supported models are configured directly in the script.

Add More Models

Follow the "Adding Driver Files" section above to add support for additional HID card printer models.

Change Branding

Replace these files:

  • gea-logo.ico - Application icon (32x32 or 48x48)
  • patrick.bmp - Large wizard image (164x314px)
  • patrick-sm.bmp - Small wizard image (55x58px)

HID Card Printer Models Reference

Common HID FARGO Models

Model Type Features
DTC4500e Dual-sided Standard card printing, encoding options
DTC1250e Single-sided Entry-level, basic card printing
DTC4250e Dual-sided Mid-range, good quality
HDP5000 High Definition Premium quality, retransfer printing
DTC1500 Single-sided Modern entry-level model

Driver Download Sources

  1. HID Global Official: https://www.hidglobal.com/support/downloads
  2. Windows Update: Some drivers available via Windows Update
  3. Printer CD: Included with printer purchase
  4. IT Department: Internal driver repository

Version History

Version 1.0 (2025-10-24)

  • Initial release
  • Support for HID FARGO DTC4500e
  • USB driver installation via pnputil
  • Multi-model framework for expansion
  • Based on PrinterInstaller.iss template

Credits

  • Development: WJDT
  • Template: Based on PrinterInstaller.iss
  • Drivers: HID Global Corporation
  • Installer Framework: Inno Setup by Jordan Russell
  • Main Inno Setup Guide: /home/camp/projects/inno/INNO_SETUP_GUIDE.md
  • Network Printer Installer: /home/camp/projects/inno/PrinterInstaller/README.md

Notes

Differences from Network Printer Installer

Feature Network Printer Card Printer
Connection TCP/IP network USB
Database Query Yes (ShopDB API) No (static config)
Port Creation TCP/IP ports USB (automatic)
Driver Type Universal (HP/Xerox) Model-specific (HID)
Use Case Office document printing Badge/ID card printing

Why Separate Installer?

Card printers have different requirements:

  • USB connection instead of network
  • Model-specific drivers (not universal)
  • Different user base (security/HR vs general office)
  • Simpler deployment (no database lookup needed)

Support

For questions about:

  • Driver files: Contact HID Global support or your IT department
  • Installer issues: Review troubleshooting section above
  • Custom modifications: Consult INNO_SETUP_GUIDE.md

Internal use only - WJDT / GE Aerospace