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:
288
PrinterInstaller/README.md
Normal file
288
PrinterInstaller/README.md
Normal file
@@ -0,0 +1,288 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user