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>
289 lines
8.7 KiB
Markdown
289 lines
8.7 KiB
Markdown
# WJDT Printer Installer
|
|
|
|
Universal printer installer for network printers and card printers from ShopDB database.
|
|
|
|
## Overview
|
|
|
|
This Inno Setup installer queries the ShopDB database for HP, Xerox, and HID printers, allows users to select which printers to install, and automatically:
|
|
- Installs appropriate printer drivers (HP UPD, Xerox Universal, HID FARGO DTC4500e)
|
|
- Creates TCP/IP Standard Printer Ports for network printers using FQDN or IP addresses
|
|
- Installs USB drivers for card printers (plug-and-play after driver installation)
|
|
- Adds selected printers to Windows
|
|
|
|
## Features
|
|
|
|
- **Database Integration**: Queries ShopDB database via REST API at `http://192.168.122.151:8080/api_printers.asp`
|
|
- **Multi-Printer Selection**: Checkbox interface to select one or more printers (network or card printers)
|
|
- **Smart Driver Installation**:
|
|
- HP Universal Print Driver PCL6 (x64 v7.9.0 and x32 v7.9.0)
|
|
- Xerox Universal Print Driver PCL6 (x64 v5.1055.3.0 and x32 v5.1055.3.0)
|
|
- HID FARGO DTC4500e Card Printer Driver (x64 v5.5.0.0)
|
|
- Automatically selects correct driver based on Windows architecture
|
|
- **Network Printer Support**: Uses printer FQDN (preferred) or IP address for TCP/IP connectivity
|
|
- **Card Printer Support**: USB-connected badge/ID card printers (HID FARGO)
|
|
- **Professional UI**: Custom branding with GEA logo and Patrick artwork
|
|
- **Admin Installation**: Requires administrator privileges
|
|
|
|
## Requirements
|
|
|
|
### To Build
|
|
- Inno Setup 6.x installed on Windows
|
|
- Printer drivers in `drivers/` subdirectories (already included)
|
|
- Access to build machine
|
|
|
|
### To Run
|
|
- Windows 10/11 (32-bit or 64-bit)
|
|
- Administrator privileges
|
|
- Network access to ShopDB server (192.168.122.151:8080)
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
PrinterInstaller/
|
|
├── PrinterInstaller.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/
|
|
├── hp_x64/ # HP Universal Print Driver x64
|
|
│ ├── hpcu345u.inf # Main driver INF file
|
|
│ └── ... # Supporting files
|
|
├── hp_x32/ # HP Universal Print Driver x32
|
|
│ ├── hpcu345u.inf
|
|
│ └── ...
|
|
├── xerox_x64/ # Xerox Universal Print Driver x64
|
|
│ └── UNIV_5.1055.3.0_PCL6_x64_Driver.inf/
|
|
│ ├── x3UNIVX.inf # Main driver INF file
|
|
│ └── ...
|
|
├── xerox_x32/ # Xerox Universal Print Driver x32
|
|
│ ├── x3UNIVX.inf # Main driver INF file
|
|
│ └── ...
|
|
└── hid_dtc4500e_x64/ # HID FARGO DTC4500e Card Printer x64
|
|
├── DTC4500e.inf # Main driver INF file
|
|
├── DTC4500e_x64.cat # Digital signature catalog
|
|
└── ... # Supporting DLLs and files
|
|
```
|
|
|
|
## Building the Installer
|
|
|
|
### On Windows
|
|
|
|
1. Open Inno Setup Compiler
|
|
2. File → Open → Select `PrinterInstaller.iss`
|
|
3. Build → Compile (or press F9)
|
|
4. Output file created at: `C:\Users\570005354\Downloads\Output\PrinterInstaller.exe`
|
|
|
|
### Command Line
|
|
|
|
```batch
|
|
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "C:\path\to\PrinterInstaller.iss"
|
|
```
|
|
|
|
## Installation Process
|
|
|
|
When a user runs `PrinterInstaller.exe`:
|
|
|
|
1. **Welcome Page**: Explains what the installer does
|
|
2. **Query Database**: Fetches list of active HP/Xerox printers from ShopDB
|
|
3. **Printer Selection**: User selects which printers to install (checkboxes)
|
|
4. **Ready Page**: Confirms selections
|
|
5. **Driver Installation**:
|
|
- Extracts drivers to temp folder
|
|
- Uses `pnputil` to add driver packages
|
|
- Adds print drivers with `Add-PrinterDriver`
|
|
6. **Printer Installation**:
|
|
- Creates TCP/IP printer ports for each printer
|
|
- Adds printers with appropriate drivers
|
|
7. **Summary**: Shows installation results
|
|
|
|
## How It Works
|
|
|
|
### Database Query
|
|
|
|
The installer queries the ShopDB API which returns JSON:
|
|
|
|
```json
|
|
[
|
|
{
|
|
"printerid": 6,
|
|
"printerwindowsname": "Coaching 112 LaserJet M254dw",
|
|
"fqdn": "Printer-10-80-92-52.printer.geaerospace.net",
|
|
"ipaddress": "10.80.92.52",
|
|
"vendor": "HP",
|
|
"modelnumber": "Color LaserJet M254dw",
|
|
"isactive": 1
|
|
},
|
|
...
|
|
]
|
|
```
|
|
|
|
### Driver Mapping
|
|
|
|
| Vendor | Driver Name | INF File (x64) | INF File (x32) |
|
|
|--------|-------------|----------------|----------------|
|
|
| HP | HP Universal Printing PCL 6 | `hpcu345u.inf` | `hpcu345u.inf` |
|
|
| Xerox | Xerox Global Print Driver PCL6 | `x3UNIVX.inf` | `x3UNIVX.inf` |
|
|
|
|
### Printer Port Naming
|
|
|
|
Format: `IP_<FQDN or IP Address>`
|
|
|
|
Examples:
|
|
- `IP_Printer-10-80-92-52.printer.geaerospace.net`
|
|
- `IP_10.80.92.52`
|
|
|
|
## Supported Printers
|
|
|
|
### HP Models (23 printers)
|
|
- Color LaserJet M254dw
|
|
- Color LaserJet M255dw
|
|
- HP DesignJet T1700dr PS
|
|
- LaserJet 4250tn
|
|
- LaserJet M406
|
|
- LaserJet M454dn
|
|
- LaserJet M506
|
|
- LaserJet M602
|
|
- LaserJet P3015dn
|
|
- LaserJet Pro 4001n
|
|
- LaserJet Pro 4100dn
|
|
- And more...
|
|
|
|
### Xerox Models (12 printers)
|
|
- Altalink C8135
|
|
- Versalink B405DN
|
|
- Versalink B7125
|
|
- Versalink C7125
|
|
- Xerox EC8036
|
|
|
|
### HID Card Printers (USB)
|
|
- **HID FARGO DTC4500e** - Dual-sided card printer for badge/ID printing
|
|
- Connection: USB
|
|
- Driver installed, device auto-configures on USB connection
|
|
- Used for employee badges, access cards, ID cards
|
|
|
|
## Command-Line Parameters
|
|
|
|
### Auto-Select Specific Printer
|
|
|
|
Pre-select a specific printer by name using the `/PRINTER` parameter:
|
|
|
|
```batch
|
|
PrinterInstaller.exe /PRINTER="CSF04-WJWT05-ColorLaserJetM254dw"
|
|
```
|
|
|
|
This will:
|
|
- Launch the installer normally
|
|
- Automatically check the matching printer(s) in the selection list
|
|
- Allow user to proceed with installation or modify selection
|
|
|
|
**Use cases:**
|
|
- Create direct download links for specific printers on your website
|
|
- QR codes that install specific printers
|
|
- Department-specific installer shortcuts
|
|
|
|
**Partial matching supported:**
|
|
```batch
|
|
PrinterInstaller.exe /PRINTER="CSF04" # Matches CSF04-WJWT05-ColorLaserJetM254dw
|
|
PrinterInstaller.exe /PRINTER="Coaching" # Matches all Coaching printers
|
|
PrinterInstaller.exe /PRINTER="LaserJet" # Matches all LaserJet printers
|
|
```
|
|
|
|
### Silent Installation
|
|
|
|
Run installer silently (no UI):
|
|
|
|
```batch
|
|
PrinterInstaller.exe /VERYSILENT /NORESTART
|
|
```
|
|
|
|
Combine with auto-select for fully automated installation:
|
|
|
|
```batch
|
|
PrinterInstaller.exe /PRINTER="CSF04" /VERYSILENT /NORESTART
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### "Failed to query printers"
|
|
- Check network connectivity
|
|
- Verify ShopDB server is accessible at `http://192.168.122.151:8080`
|
|
- Test API manually: `http://192.168.122.151:8080/api_printers.asp`
|
|
|
|
### "Driver installation failed"
|
|
- Ensure running as Administrator
|
|
- Check Windows version compatibility
|
|
- Verify driver files are present in `drivers/` folder
|
|
|
|
### "Printer already exists"
|
|
- Normal behavior - installer skips existing printers
|
|
- Delete printer from Windows first if you want to reinstall
|
|
|
|
### Multiple Architecture Support
|
|
- Both HP and Xerox drivers support 32-bit (x86) and 64-bit (x64) Windows
|
|
- Installer automatically detects Windows architecture and uses appropriate drivers
|
|
- All printers (HP and Xerox) work on both 32-bit and 64-bit systems
|
|
|
|
## API Endpoint
|
|
|
|
The installer expects a REST API at:
|
|
|
|
```
|
|
GET http://192.168.122.151:8080/api_printers.asp
|
|
```
|
|
|
|
Returns JSON array of printer objects with fields:
|
|
- `printerid` (number)
|
|
- `printerwindowsname` (string)
|
|
- `fqdn` (string)
|
|
- `ipaddress` (string)
|
|
- `vendor` (string: "HP" or "Xerox")
|
|
- `modelnumber` (string)
|
|
- `isactive` (number: 1 or 0)
|
|
|
|
## Customization
|
|
|
|
### Change Database Server
|
|
|
|
Edit `PrinterInstaller.iss` line 67:
|
|
|
|
```pascal
|
|
' $url = "http://YOUR-SERVER:PORT/api_printers.asp"' + #13#10 +
|
|
```
|
|
|
|
### Add More Vendors
|
|
|
|
1. Add driver files to `drivers/` folder
|
|
2. Update `[Files]` section to include new drivers
|
|
3. Modify `Install-PrinterDriver` function to support new vendor
|
|
4. Update `Install-NetworkPrinter` function for driver mapping
|
|
|
|
### 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)
|
|
|
|
## Version History
|
|
|
|
### Version 1.0 (2025-10-15)
|
|
- Initial release
|
|
- Support for HP and Xerox printers
|
|
- Database integration with ShopDB
|
|
- TCP/IP installation via FQDN
|
|
- x64 and x32 architecture support
|
|
- HP Universal Print Driver v7.9.0
|
|
- Xerox Global Print Driver v5.1055.3.0
|
|
|
|
## Credits
|
|
|
|
- **Development**: WJDT
|
|
- **Template**: Based on MappedDrive.iss
|
|
- **Drivers**: HP Inc., Xerox Corporation
|
|
- **Installer Framework**: Inno Setup by Jordan Russell
|
|
|
|
## License
|
|
|
|
Internal use only - WJDT / GE Aerospace
|