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

View File

@@ -0,0 +1,311 @@
# ShopfloorConnect Installer Improvements
**Date**: 2025-10-10
**Version**: 1.1
## Changes Made
### 1. Fixed Output Directory Path (Line 16)
**Before**:
```pascal
OutputDir=C:\Users\570005354\Downloads\Output
```
**After**:
```pascal
OutputDir=.\Output
```
**Reason**: The hardcoded user path would fail when building on different machines. Using a relative path `.\Output` creates the output directory next to the `.iss` script file.
---
### 2. Added Comprehensive Error Handling
**Before**:
- No error checking on `Exec()` calls
- No validation of result codes
- Installation continued even if steps failed
- No feedback if something went wrong
**After**:
- ✅ Checks both `Exec()` return value AND `ResultCode`
- ✅ Shows detailed error messages with error codes
- ✅ Exits installation on failure (prevents cascading errors)
- ✅ Provides remediation steps in error messages
- ✅ Validates that configuration file was created
---
### 3. Fixed Batch File Pause Issue (Line 61)
**Problem**: The `install.bat` file has a `pause` command at the end (line 93), which would hang the installer waiting for user input.
**Solution**: Added `echo. |` to pipe a newline to the batch file, automatically responding to the pause:
```pascal
// Before
Exec('cmd.exe', '/c cd /d "C:\ShopFloorConnect\MachineToolClient_Service" && call install.bat', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
// After
Exec('cmd.exe', '/c cd /d "C:\ShopFloorConnect\MachineToolClient_Service" && echo. | call install.bat', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
```
---
### 4. Added Comprehensive Installation Validation (Lines 73-130)
**New Features**: After running installation steps, the installer now performs multiple validation checks:
#### 4a. Verify FIT-MI_Server Folder Created (Lines 73-85)
```pascal
if not DirExists('C:\ShopFloorConnect\FIT-MI_Server') then
begin
MsgBox('Installation Error: FIT-MI_Server folder not created!' + ...);
Exit;
end;
```
This checks that the Ant build script successfully created the service folder structure.
#### 4b. Verify Windows Service Registration (Lines 87-106)
```pascal
// Query the Windows service
if not Exec('cmd.exe', '/c sc query SFCMTCService', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
begin
MsgBox('Warning: Unable to query Windows service!' + ...);
Exit;
end;
if ResultCode <> 0 then
begin
MsgBox('Service Registration Failed!' + ...);
Exit;
end;
```
This verifies that the Windows service "SFCMTCService" was actually registered and is queryable.
#### 4c. Verify Configuration File Created (Lines 121-130)
```pascal
if not FileExists('C:\ShopFloorConnect\FIT-MI_Server\webapps\wut\WEB-INF\conf\mi_server.ini') then
begin
MsgBox('Configuration Error: mi_server.ini not found!' + ...);
Exit;
end;
```
This ensures the critical configuration file was created and populated.
**Why These Checks Matter**: These validations catch installation failures early and provide specific error messages with remediation steps, preventing the "Installation Complete!" message from showing when installation actually failed.
---
### 5. Enhanced Error Messages and Success Confirmation
All error messages now include:
- Clear description of what failed
- Error codes when available
- Specific file paths involved
- Remediation steps (what to do manually)
**Example Error**:
```
Service Registration Failed!
The Windows service "SFCMTCService" was not created.
Error Code: 1060
The installation may have completed, but the service was not registered.
You may need to manually register the service by running:
C:\ShopFloorConnect\FIT-MI_Server\Tomcat 5.0\bin\SFC_MTC_Tomcat_service.bat install
```
**Enhanced Success Message** (Lines 132-145):
The completion message now includes service details and instructions:
```
Installation Complete!
The ShopfloorConnect MTC Service has been installed and configured.
Windows Service: SFCMTCService (Registered)
Startup Type: Delayed Automatic
Site Configuration: West Jefferson CA-LR
Teamcenter Server: 10.233.113.141
Shop Floor PC FQDN: Auto-detected
Config file: C:\ShopFloorConnect\FIT-MI_Server\webapps\wut\WEB-INF\conf\mi_server.ini
To start the service:
1. Open Services (services.msc)
2. Find "SFCMTCService"
3. Right-click → Start
Or run: sc start SFCMTCService
```
---
## Installation Flow (Updated)
```
┌─────────────────────────────────────┐
│ 1. Copy files to C:\ShopFloorConnect│
│ (169MB - Java + MTC Service) │
└──────────────┬──────────────────────┘
┌─────────────────────────────────────┐
│ 2. Set Environment Variable │
│ setx /m TCFITDIR=C:\ShopFloorConnect
│ ✓ Error check: Exit if failed │
└──────────────┬──────────────────────┘
┌─────────────────────────────────────┐
│ 3. Install MTC Service │
│ cd MachineToolClient_Service │
│ echo. | call install.bat │
│ (Ant build creates FIT-MI_Server)│
│ (Registers SFCMTCService) │
│ ✓ Error check: Exit if failed │
│ ✓ Auto-respond to pause │
└──────────────┬──────────────────────┘
▼ (Sleep 3 seconds)
┌─────────────────────────────────────┐
│ 3a. Verify FIT-MI_Server Created │
│ Check folder exists │
│ ✓ Error: Exit if not found │
└──────────────┬──────────────────────┘
┌─────────────────────────────────────┐
│ 3b. Verify Service Registration │
│ sc query SFCMTCService │
│ ✓ Error: Exit if not registered │
└──────────────┬──────────────────────┘
┌─────────────────────────────────────┐
│ 4. Configure Site Settings │
│ cd C:\ShopFloorConnect │
│ call 3 - West_Jeff_CA_LR_Update_ini_File.bat
│ ✓ Error check: Exit if failed │
└──────────────┬──────────────────────┘
┌─────────────────────────────────────┐
│ 4a. Verify Configuration File │
│ Check mi_server.ini exists │
│ ✓ Error: Exit if not found │
└──────────────┬──────────────────────┘
┌─────────────────────────────────────┐
│ ✓ Installation Complete! │
│ Show success message with: │
│ - Service name and status │
│ - Configuration details │
│ - Instructions to start service │
└─────────────────────────────────────┘
```
---
## Testing Recommendations
### Test Case 1: Successful Installation
1. Run installer on clean Windows PC with admin rights
2. Verify all 3 steps execute without errors
3. Confirm success message appears
4. Check that `mi_server.ini` file exists and contains correct settings
### Test Case 2: Missing Admin Rights
1. Run installer without admin rights
2. Should fail at Step 2 (setx /m)
3. Should show error: "Failed to set TCFITDIR environment variable!"
### Test Case 3: Installation Failure Recovery
1. Simulate failure by renaming `install.bat` temporarily
2. Run installer
3. Should fail at Step 3 with error message
4. Should NOT show "Installation Complete!" message
5. Should provide manual remediation steps
### Test Case 4: Configuration File Verification
1. Run installer normally
2. If `install.bat` fails silently (doesn't create FIT-MI_Server folder)
3. Should catch this at Step 5 (file validation)
4. Should show: "Configuration file not found"
---
## Compatibility Notes
- **Inno Setup Version**: Requires Inno Setup 6 or later
- **Windows**: Windows 7 and later (x64)
- **Admin Rights**: Required for `setx /m` and Windows service installation
- **Dependencies**: None (all files included in installer)
---
## Known Limitations
1. **Site-Specific**: Hardcoded for West Jefferson CA-LR
- To change sites, must edit line 59 and rebuild installer
- Future: Could add wizard page for site selection
2. **Single Installation Path**: Fixed to `C:\ShopFloorConnect`
- Cannot be changed by user during installation
- This is intentional (service expects this path)
3. **No Rollback**: If installation fails mid-way
- Files remain in C:\ShopFloorConnect
- Environment variable may be set
- User must manually clean up or re-run installer
---
## Files Modified
- `ShopfloorConnect.iss` - Main installer script (improved error handling)
- `README.md` - Enhanced troubleshooting section
- `IMPROVEMENTS.md` - This file (new)
## Files Unchanged
- `Run_ShopfloorConnect_Installer.bat` - Batch launcher (still valid)
- `ShopFloorConnect/` - Source files (no changes needed)
- `*.bmp`, `*.ico` - Image assets (no changes)
---
## Next Steps (Optional Enhancements)
1. **Add Site Selection Wizard Page**
- Let user choose between West Jeff / Rotating Parts / Wilmington
- Eliminates need to rebuild installer for different sites
2. **Add Installation Logging**
- Create `C:\ShopFloorConnect\install.log` with timestamps
- Log each step and result code
- Helpful for troubleshooting
3. **Add Pre-Installation Checks**
- Verify Windows version
- Check available disk space (needs ~200MB)
- Detect if service already installed
4. **Add Uninstaller Enhancements**
- Stop service before uninstalling
- Remove environment variable
- Prompt to keep configuration files
---
**Reviewed By**: Claude Code
**Status**: Ready for testing and deployment