[![SurePassID](logo_sp_banner.jpg)](https://surepassid.com)

# InstallationManager - Quick Reference Guide

## Application Information

**Assembly Name**: `InstallationManager.exe`  
**Framework**: .NET 8.0 for Windows  
**Version**: 2025.4.1  
**Requires**: Administrator privileges  

---

## Operations at a Glance

| Operation | Menu Path | Risk | Downtime | Backup | Preview | Duration |
|-----------|-----------|------|----------|--------|---------|----------|
| **In-Place Upgrade** | Operations ? Upgrade current installation | High | Yes | Auto | Yes | 15-30 min |
| **Config Sync** | Operations ? Sync web.config to new installation | Low | No* | No | No | 5-10 min |
| **Maintenance Release** | Operations ? Install maintenance release | Low-Med | Yes | Auto | Yes | 10-15 min |
| **Key Rotation** | Operations ? Rotate system encryption keys | High | Yes | Manual | No | 30-60 min |

\* No downtime for new installation (target); source continues running

---

## Quick Start

### Launch
```cmd
# Run as Administrator
InstallationManager.exe

# With production folder parameter
InstallationManager.exe "C:\Program Files\SurePassID Corp\SurePassID Authentication Server\MfaServer"
```

### Basic Workflow
1. Select operation from **Operations** menu
2. Specify **Current Installation Folder** (Browse button)
3. Specify additional paths if needed (operation-dependent)
4. Enable **Preview Mode** (recommended for first run)
5. Click **Start**
6. Review log
7. Click **Copy Log** to save results
8. Click **Done** to exit

---

## Menu Reference

### Operations Menu (Alt+O)

| Menu Item | Shortcut | Description |
|-----------|----------|-------------|
| **Upgrade current installation** | - | In-place upgrade to new version |
| **Sync web.config to new installation** | - | Copy configuration to new installation |
| **Install maintenance release** | - | Apply patches and updates |
| **Rotate system encryption keys** | - | Rotate encryption keys |
| **Exit** | Alt+F4 | Close application |

### View Menu (Alt+V)

| Menu Item | Description |
|-----------|-------------|
| **Configuration** | View current configuration settings |

### Help Menu (Alt+H)

| Menu Item | Description |
|-----------|-------------|
| **User Guide** | Open user documentation |
| **Administrator Guide** | Open admin documentation |
| **Quick Reference** | Open this guide |
| **Website** | Open SurePassID website |
| **Support Site** | Open support portal |
| **Knowledge Base** | Open knowledge base |
| **About** | Show version and build information |

---

## Field Reference

### Current Installation Folder
- **Purpose**: Specifies the production SurePassID installation
- **Example**: `C:\Program Files\SurePassID Corp\SurePassID Authentication Server\MfaServer`
- **Required**: Yes (all operations)
- **Validation**: Must contain valid SurePassID installation

### New Installation Folder
- **Purpose**: Target folder for configuration synchronization
- **Visible When**: "Sync web.config to new installation" selected
- **Example**: `D:\SurePassID_New\MfaServer`
- **Required**: Only for config sync operation

### Preview Mode Checkbox
- **Purpose**: Shows changes without applying them
- **Default**: Unchecked
- **Available For**: In-place upgrade, maintenance release
- **Recommended**: Check for first run, uncheck for actual operation

---

## Operation Quick Reference

### In-Place Upgrade

**Purpose**: Upgrade existing installation to new version

**Prerequisites:**
- ? Database backup created
- ? Downtime scheduled
- ? Upgrade package downloaded and extracted
- ? Users logged out
- ? Services stopped

**Inputs:**
1. Current Installation Folder
2. Upgrade package path (prompted during operation)

**Steps:**
1. Operations ? Upgrade current installation
2. Specify Current Installation Folder
3. Enable Preview Mode (recommended)
4. Click Start
5. Specify upgrade package location in dialog
6. Review log output
7. If preview looks good, uncheck Preview Mode and repeat
8. Copy log and exit

**What Happens:**
- Backup created: `[Installation]\Backups\[Timestamp]\`
- Files updated from upgrade package
- Configuration migrated to new version
- Database schema upgraded (if needed)

**Post-Operation:**
- Restart IIS/services
- Test authentication
- Verify functionality

---

### Sync web.config to New Installation

**Purpose**: Copy configuration from current to new installation

**Prerequisites:**
- ? Source installation working
- ? Target installation installed but unconfigured

**Inputs:**
1. Current Installation Folder (source)
2. New Installation Folder (target)

**Steps:**
1. Operations ? Sync web.config to new installation
2. Specify Current Installation Folder (source)
3. Specify New Installation Folder (target)
4. Click Start
5. Review log
6. Copy log and exit

**What Happens:**
- Configuration copied from source to target
- Destination-specific settings preserved
- No database changes
- Binaries not modified

**Post-Operation:**
- Test new installation
- Verify connectivity

---

### Install Maintenance Release

**Purpose**: Apply patches/updates to current installation

**Prerequisites:**
- ? Maintenance release package (ZIP or folder)
- ? Brief downtime scheduled
- ? Services stopped

**Inputs:**
1. Current Installation Folder
2. Maintenance package (ZIP file or folder with "Server Update" subfolder)

**Steps:**
1. Operations ? Install maintenance release
2. Specify Current Installation Folder
3. Enable Preview Mode (recommended)
4. Click Start
5. Choose ZIP or Folder when prompted
6. Browse to maintenance package
7. Review log
8. If preview OK, uncheck Preview Mode and repeat
9. Copy log and exit

**What Happens:**
- Backup created: `[Installation]\Backups\[Timestamp]\`
- ZIP extracted (if ZIP selected)
- Files copied from "Server Update" subfolder
- Configuration preserved
- No database changes

**Post-Operation:**
- Restart IIS/services
- Verify version updated
- Test key features

---

### Rotate System Encryption Keys

**Purpose**: Update encryption keys for enhanced security

**Prerequisites:**
- ?? **CRITICAL**: Database backup created and verified
- ? Extended downtime scheduled (30-60 min)
- ? All users logged out
- ? All services stopped

**Inputs:**
1. Current Installation Folder

**Steps:**
1. **BACKUP DATABASE** (mandatory!)
2. Stop all services
3. Operations ? Rotate system encryption keys
4. Specify Current Installation Folder
5. Click Start
6. Confirm database backup (type YES)
7. Confirm key rotation (type ROTATE)
8. Monitor progress (do not interrupt!)
9. Wait for completion (30-60 minutes)
10. Copy log and exit

**What Happens:**
- New encryption keys generated
- All encrypted database data re-encrypted
- Configuration files updated with new keys
- Database transactions (supports rollback)

**Post-Operation:**
- Restart services
- Test authentication
- Verify encrypted data accessible
- Keep backup for 30 days

**?? WARNING**: If operation fails, contact support immediately. Do NOT restart services.

---

## Configuration Viewer

**Access**: View ? Configuration

**Purpose**: Inspect current configuration settings

**Shows:**
- Connection strings (passwords sanitized)
- Key Vault references
- SMTP configuration
- Twilio configuration
- Service endpoints
- Other settings

**Use Cases:**
- Troubleshooting connectivity issues
- Verifying configuration values
- Auditing settings
- Documentation

---

## Log Messages

### Message Types

| Level | Appearance | Meaning |
|-------|------------|---------|
| **INFO** | Normal text | Standard progress message |
| **WARNING** | Yellow text | Non-critical issue to note |
| **ERROR** | Red text | Problem requiring attention |

### Important Messages

**Success Messages:**
- `"Operation completed successfully"`
- `"Configuration synchronized successfully"`
- `"Key rotation completed successfully"`
- `"Maintenance release applied successfully"`

**Critical Warnings:**
- `"Could not find production folder"`
- `"Database connection failed"`
- `"Invalid maintenance package structure"`
- `"Template resource not found"`

---

## Backup Locations

### Automatic Backups
- **Created By**: In-place upgrade, maintenance release
- **Location**: `[Installation]\Backups\[Timestamp]\`
- **Format**: `Backup_YYYYMMDD_HHmmss`
- **Example**: `C:\Program Files\SurePassID Corp\SurePassID Authentication Server\Backups\Backup_20250415_143022\`

### Manual Backups
- **Required For**: Key rotation
- **Type**: Database backup
- **Create Using**: SQL Server Management Studio or backup scripts
- **Verify**: Test restore before proceeding

---

## Troubleshooting Quick Reference

| Error | Cause | Solution |
|-------|-------|----------|
| "Could not find production folder" | Invalid folder selected | Select folder containing MfaServer subfolder |
| "Database connection failed" | SQL Server unreachable | Verify SQL Server running, check connection string |
| "Key Vault access denied" | Azure authentication issue | Check Azure credentials and permissions |
| "Operation failed" during copy | File locked or permissions | Stop services, run as Administrator |
| "Invalid maintenance package" | Wrong package structure | Verify package contains "Server Update" subfolder |
| "Template resource not found" | Missing embedded resource | Contact support; may need application reinstall |

---

## File Paths Reference

### Windows Standard Installation

```
Installation Root:
C:\Program Files\SurePassID Corp\SurePassID Authentication Server\

MfaServer:
C:\Program Files\SurePassID Corp\SurePassID Authentication Server\MfaServer\

Configuration:
C:\Program Files\SurePassID Corp\SurePassID Authentication Server\MfaServer\web.config

Backups:
C:\Program Files\SurePassID Corp\SurePassID Authentication Server\Backups\
```

### Azure App Service (VLE)

```
Installation Root:
C:\home\site\wwwroot\

Configuration:
C:\home\site\wwwroot\web.config
```

---

## Best Practices Checklist

### Before ANY Operation
- [ ] Backup database (especially for key rotation and upgrades)
- [ ] Review release notes
- [ ] Schedule downtime
- [ ] Stop services (except for config sync target)
- [ ] Use preview mode first (if available)

### During Operation
- [ ] Monitor log window
- [ ] Do not interrupt
- [ ] Note any warnings

### After Operation
- [ ] Copy log
- [ ] Restart services
- [ ] Test functionality
- [ ] Retain backups (30 days minimum)

---

## Keyboard Shortcuts

| Shortcut | Action |
|----------|--------|
| **Alt+O** | Open Operations menu |
| **Alt+V** | Open View menu |
| **Alt+H** | Open Help menu |
| **Ctrl+C** | Copy selected text (log window) |
| **Alt+F4** | Exit application |

---

## Support Resources

### Documentation
- **User Guide**: Detailed step-by-step instructions
- **Admin Guide**: Advanced administration and troubleshooting
- **Release Notes**: Version history and changes

### Online
- **Website**: https://www.surepassid.com
- **Support Portal**: https://support.surepassid.com
- **Knowledge Base**: https://support.surepassid.com/general-support

### Contact
- **Email**: support@surepassid.com
- **Emergency**: Contact via support portal for critical issues

---

## Command Examples

### Launch with Folder Parameter
```cmd
InstallationManager.exe "C:\Program Files\SurePassID Corp\SurePassID Authentication Server\MfaServer"
```

### Create Desktop Shortcut
```cmd
# Create a shortcut with:
Target: C:\Path\To\InstallationManager.exe "C:\Program Files\SurePassID Corp\SurePassID Authentication Server\MfaServer"
Run as administrator: Checked
```

### Backup Database (SQL Server)
```sql
BACKUP DATABASE [SurePassDB] 
TO DISK = 'C:\Backups\SurePassDB_BeforeUpgrade.bak'
WITH FORMAT, INIT, COMPRESSION
```

---

## Version Information

**Application Name**: InstallationManager  
**Assembly Name**: InstallationManager.exe  
**Version**: 2025.4.1  
**Framework**: .NET 8.0 (net8.0-windows)  
**Company**: SurePassID Corporation  
**Product**: SurePassID Authentication Server  

To view version details:
- **Help** ? **About**
- Shows: Version, build date, copyright, assembly information

---

## Legal

**Copyright © 2026 SurePassID Corporation. All rights reserved.**

SurePassID is a registered trademark of SurePassID Corporation.

---

## Document Information

**Document Version**: 1.0  
**Last Updated**: 2025-04-15  
**Product Version**: 2025.4.1  
**Applies To**: InstallationManager 2025.4.x and later

---

**For detailed instructions, see the User Guide.**  
**For advanced topics, see the Administrator Guide.**  
**For version history, see the Release Notes.**
