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:
190
BlueSSOFix/BlueSSOFix.iss
Normal file
190
BlueSSOFix/BlueSSOFix.iss
Normal file
@@ -0,0 +1,190 @@
|
||||
; BlueSSOFix - GE Aerospace Blue SSO Certificate Fix Utility
|
||||
; Automates certificate management and WiFi profile configuration for Blue SSO authentication
|
||||
|
||||
[Setup]
|
||||
AppId={{9A8B7C6D-5E4F-3A2B-1C0D-9E8F7A6B5C4D}}
|
||||
AppName=WJDT BlueSSOFix
|
||||
AppVersion=1.0
|
||||
AppPublisher=WJDT
|
||||
AppPublisherURL=http://tsgwp00524.logon.ds.ge.com
|
||||
AppSupportURL=http://tsgwp00524.logon.ds.ge.com
|
||||
AppUpdatesURL=http://tsgwp00524.logon.ds.ge.com
|
||||
CreateAppDir=no
|
||||
ChangesAssociations=no
|
||||
PrivilegesRequired=admin
|
||||
OutputDir=.\Output
|
||||
OutputBaseFilename=BlueSSOFix
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
SetupIconFile=gea-logo.ico
|
||||
WizardImageFile=patrick.bmp
|
||||
WizardSmallImageFile=patrick-sm.bmp
|
||||
CreateUninstallRegKey=no
|
||||
DisableWelcomePage=no
|
||||
|
||||
[Languages]
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
[Messages]
|
||||
WelcomeLabel2=This utility will fix Blue SSO wireless authentication issues.%n%nThe installer will:%n- Uninstall and reinstall EAP-PEAP%n- Remove old BLUESSO WiFi profile%n- Install fresh BLUESSO WiFi profile%n- Clean expired certificates%n%nThis is useful when:%n- Blue SSO authentication fails%n- WiFi profile is corrupted%n- Certificate errors appear
|
||||
|
||||
[Files]
|
||||
; Embed the EAP-PEAP installer
|
||||
Source: "EAP-PEAP.msi"; DestDir: "{tmp}"; Flags: ignoreversion
|
||||
; Embed the working BLUESSO.xml
|
||||
Source: "BLUESSO.xml"; DestDir: "{tmp}"; Flags: ignoreversion
|
||||
; Embed the bat files
|
||||
Source: "BLUESSO Remove.bat"; DestDir: "{tmp}"; Flags: ignoreversion
|
||||
Source: "BLUESSO Add Temp.bat"; DestDir: "{tmp}"; Flags: ignoreversion
|
||||
|
||||
[Code]
|
||||
var
|
||||
CurrentUsername: String;
|
||||
|
||||
procedure InitializeWizard();
|
||||
begin
|
||||
CurrentUsername := GetUserNameString;
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
var
|
||||
ResultCode: Integer;
|
||||
ScriptPath: String;
|
||||
PowerShellScript: String;
|
||||
MsiPath: String;
|
||||
XmlPath: String;
|
||||
begin
|
||||
if CurStep = ssInstall then
|
||||
begin
|
||||
MsiPath := ExpandConstant('{tmp}\EAP-PEAP.msi');
|
||||
|
||||
// Build PowerShell script with nice output
|
||||
PowerShellScript :=
|
||||
'$ErrorActionPreference = "Continue"' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host " BlueSSOFix - Blue SSO Repair Tool" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "Current User: ' + CurrentUsername + '" -ForegroundColor Gray' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'' + #13#10 +
|
||||
'Write-Host "Step 1: Checking EAP-PEAP installation..." -ForegroundColor Yellow' + #13#10 +
|
||||
'$peapInstalled = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{ED5776D5-59B4-46B7-AF81-5F2D94D7C640}"' + #13#10 +
|
||||
'if ($peapInstalled) {' + #13#10 +
|
||||
' Write-Host " EAP-PEAP already installed" -ForegroundColor Green' + #13#10 +
|
||||
'} else {' + #13#10 +
|
||||
' Write-Host " Installing EAP-PEAP..." -ForegroundColor Yellow' + #13#10 +
|
||||
' $msiPath = "' + MsiPath + '"' + #13#10 +
|
||||
' $process = Start-Process -FilePath "msiexec.exe" -ArgumentList @("/i", "`"$msiPath`"", "/qn", "/norestart") -Wait -PassThru' + #13#10 +
|
||||
' if ($process.ExitCode -eq 0) {' + #13#10 +
|
||||
' Write-Host " EAP-PEAP installed successfully" -ForegroundColor Green' + #13#10 +
|
||||
' Start-Sleep -Seconds 3' + #13#10 +
|
||||
' } else {' + #13#10 +
|
||||
' Write-Host " Installation failed with exit code: $($process.ExitCode)" -ForegroundColor Red' + #13#10 +
|
||||
' exit $process.ExitCode' + #13#10 +
|
||||
' }' + #13#10 +
|
||||
'}' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'' + #13#10 +
|
||||
'Write-Host "Step 2: Cleaning expired certificates..." -ForegroundColor Yellow' + #13#10 +
|
||||
'try {' + #13#10 +
|
||||
' $expiredCerts = Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object { $_.NotAfter -lt (Get-Date) }' + #13#10 +
|
||||
' if ($expiredCerts) {' + #13#10 +
|
||||
' $removedCount = 0' + #13#10 +
|
||||
' foreach ($cert in $expiredCerts) {' + #13#10 +
|
||||
' try {' + #13#10 +
|
||||
' Remove-Item -Path "Cert:\CurrentUser\My\$($cert.Thumbprint)" -Force -ErrorAction Stop' + #13#10 +
|
||||
' $removedCount++' + #13#10 +
|
||||
' } catch { }' + #13#10 +
|
||||
' }' + #13#10 +
|
||||
' Write-Host " Removed $removedCount expired certificates" -ForegroundColor Green' + #13#10 +
|
||||
' } else {' + #13#10 +
|
||||
' Write-Host " No expired certificates found" -ForegroundColor Green' + #13#10 +
|
||||
' }' + #13#10 +
|
||||
'} catch {' + #13#10 +
|
||||
' Write-Host " Error: $_" -ForegroundColor Red' + #13#10 +
|
||||
'}' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'' + #13#10 +
|
||||
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host " Phase 1 Complete" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "WiFi profile will be configured next..." -ForegroundColor Yellow' + #13#10 +
|
||||
'Write-Host ""';
|
||||
|
||||
ScriptPath := ExpandConstant('{tmp}\BlueSSOFix.ps1');
|
||||
SaveStringToFile(ScriptPath, PowerShellScript, False);
|
||||
|
||||
Exec('powershell.exe',
|
||||
'-NoProfile -ExecutionPolicy Bypass -File "' + ScriptPath + '"',
|
||||
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
DeleteFile(ScriptPath);
|
||||
end;
|
||||
|
||||
if CurStep = ssPostInstall then
|
||||
begin
|
||||
// Build nice PowerShell script for WiFi configuration
|
||||
XmlPath := ExpandConstant('{commonappdata}\BLUESSO.xml');
|
||||
CopyFile(ExpandConstant('{tmp}\BLUESSO.xml'), XmlPath, False);
|
||||
|
||||
PowerShellScript :=
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "Step 3: Configuring WiFi profile..." -ForegroundColor Yellow' + #13#10 +
|
||||
'Write-Host " Removing old BLUESSO profile..." -ForegroundColor Gray' + #13#10 +
|
||||
'Write-Host ""';
|
||||
|
||||
ScriptPath := ExpandConstant('{tmp}\BlueSSOFix_WiFi.ps1');
|
||||
SaveStringToFile(ScriptPath, PowerShellScript, False);
|
||||
|
||||
Exec('powershell.exe',
|
||||
'-NoProfile -ExecutionPolicy Bypass -File "' + ScriptPath + '"',
|
||||
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
DeleteFile(ScriptPath);
|
||||
|
||||
// Create scheduled task to run as current user (non-elevated)
|
||||
Exec('cmd.exe',
|
||||
'/c schtasks /create /tn "BlueSSOFix_WiFi" /tr "cmd.exe /c netsh wlan delete profile name=BLUESSO & netsh wlan add profile filename=' + XmlPath + '" /sc once /st 00:00 /ru "' + CurrentUsername + '" /f',
|
||||
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
// Run the scheduled task immediately
|
||||
Exec('cmd.exe',
|
||||
'/c schtasks /run /tn "BlueSSOFix_WiFi"',
|
||||
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
Sleep(2000);
|
||||
|
||||
// Delete the scheduled task
|
||||
Exec('cmd.exe',
|
||||
'/c schtasks /delete /tn "BlueSSOFix_WiFi" /f',
|
||||
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
// Final success message
|
||||
PowerShellScript :=
|
||||
'Write-Host " WiFi profile configured successfully" -ForegroundColor Green' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host " BlueSSOFix Complete!" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host "========================================" -ForegroundColor Cyan' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "Summary:" -ForegroundColor White' + #13#10 +
|
||||
'Write-Host " [OK] EAP-PEAP installed" -ForegroundColor Green' + #13#10 +
|
||||
'Write-Host " [OK] BLUESSO WiFi profile configured" -ForegroundColor Green' + #13#10 +
|
||||
'Write-Host " [OK] Expired certificates cleaned" -ForegroundColor Green' + #13#10 +
|
||||
'Write-Host ""' + #13#10 +
|
||||
'Write-Host "Press any key to continue..." -ForegroundColor Gray' + #13#10 +
|
||||
'$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")';
|
||||
|
||||
ScriptPath := ExpandConstant('{tmp}\BlueSSOFix_Complete.ps1');
|
||||
SaveStringToFile(ScriptPath, PowerShellScript, False);
|
||||
|
||||
Exec('powershell.exe',
|
||||
'-NoProfile -ExecutionPolicy Bypass -File "' + ScriptPath + '"',
|
||||
'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
DeleteFile(ScriptPath);
|
||||
end;
|
||||
end;
|
||||
Reference in New Issue
Block a user