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>
312 lines
11 KiB
Markdown
312 lines
11 KiB
Markdown
# 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
|