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 28541cd3ed
1175 changed files with 127441 additions and 0 deletions

288
PrinterInstaller/README.md Normal file
View 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