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:
311
ShopfloorConnect/IMPROVEMENTS.md
Normal file
311
ShopfloorConnect/IMPROVEMENTS.md
Normal 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
|
||||
Reference in New Issue
Block a user