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

# InstallationManager - Release Notes

## Version 2025.4.1 (Current Release)

**Release Date**: April 2025  
**Build**: 2025.4.x.x  
**Framework**: .NET 8.0 for Windows  

### Overview
This release represents a significant modernization and enhancement of the SurePassID Installation Manager (formerly SystemUpdateAppCore). The tool now provides a more robust, user-friendly experience for managing SurePassID Authentication Server installations.

### What's New

#### Enhanced User Interface
- **Menu-Based Operation Selection**: Replaced dropdown combo box with an intuitive menu system
  - Operations menu with clearly labeled options
  - Visual checkmarks for selected operation
  - Improved keyboard navigation
  
- **Integrated Help System**:
  - Help menu with direct links to documentation
  - User Guide, Admin Guide, and Quick Reference accessible from the application
  - Direct links to SurePassID website, support portal, and knowledge base
  - About dialog with version information and build details

- **Improved Configuration Viewer**:
  - View ? Configuration menu option for easy access
  - Displays all critical configuration settings
  - Sanitized display of sensitive information
  - Better error handling and user feedback

#### Core Functionality Improvements

##### 1. In-Place Update Operation
- **Template Resolution Enhancement**: Fixed critical bug in embedded resource template resolution
  - Corrected resource namespace handling
  - Proper template extraction from embedded resources
  - Improved error messages for template issues
  
- **Backup Creation**: Enhanced backup process with timestamped folders
- **Preview Mode**: See changes before applying them
- **Database Migration**: Automatic handling of database schema updates
- **Configuration Migration**: Seamless web.config updates with setting preservation

##### 2. Maintenance Release Operation
- **ZIP File Support**: Can now directly use maintenance release ZIP files
  - Automatic ZIP extraction and validation
  - Temporary folder management
  - Clean cleanup after operation
  
- **Folder Support**: Traditional folder-based maintenance packages still supported
- **Enhanced Validation**: Better validation of maintenance package structure
  - Checks for required "Server Update" subfolder
  - Validates package contents before extraction
  - Clear error messages for invalid packages
  
- **Improved User Experience**:
  - User can choose between ZIP or folder selection
  - Better progress reporting during file operations
  - More detailed logging of copy operations

##### 3. Configuration Synchronization
- **Side-by-Side Support**: Sync configurations between installations
- **Selective Sync**: Preserves destination-specific settings
- **Validation**: Ensures both source and target are valid installations

##### 4. Key Rotation Operation
- **Enhanced Security**: Improved key generation and rotation logic
- **Progress Reporting**: Real-time status updates during rotation
- **Database Re-encryption**: Handles large databases efficiently
- **Rollback Support**: Transaction-based updates with rollback capability

#### Architecture Enhancements

##### Shared Services Integration
- **IFileOperationService**: Centralized file operations service
  - Shared by In-Place and Maintenance Release operations
  - Consistent backup creation logic
  - Uniform file copy operations with progress tracking
  - Enhanced error handling and logging
  
- **Dependency Injection**: Better service composition
  - Operations receive services via constructor
  - Easier testing with mock services
  - Cleaner separation of concerns

##### Improved Testing
- **Unit Test Coverage**: Comprehensive test suite for core operations
  - Mock service implementations
  - Test projects for ConfigurationManagementLib
  - Test projects for SystemUpdateAppCore
  
- **Validation Testing**: Better validation of inputs and contexts
  - Folder existence checks
  - Production folder validation (rejects system/library folders)
  - Configuration file validation

#### User Settings Persistence
- **Last Used Folders**: Application remembers previously used folders
- **Operation Selection**: Restores last selected operation
- **Preview Mode**: Persists preview mode preference
- **Command-Line Support**: Can launch with production folder as parameter

#### Rendering and Display Improvements
- **DPI Awareness**: Better support for high-DPI displays
- **Multi-Monitor Support**: Proper rendering when moving between monitors
- **Double Buffering**: Reduced flickering in list controls
- **Responsive UI**: Improved thread-safe UI updates

### Bug Fixes

#### Critical Fixes
1. **Template Resource Resolution**: Fixed embedded web.config template not being found during in-place upgrades
   - Issue: Template resource namespace didn't match assembly name
   - Impact: In-place upgrades would fail when template was needed
   - Resolution: Corrected resource namespace to match assembly name

2. **Production Folder Validation**: Fixed issue where development folders could be selected as production folders
   - Issue: Could select ConfigurationManagementLib, bin, obj, etc. as production folders
   - Impact: Would cause operations to fail or corrupt development environment
   - Resolution: Added validation to reject system and library folders

3. **Maintenance Package Validation**: Improved detection of invalid maintenance packages
   - Issue: Unclear error messages when package structure was incorrect
   - Impact: User confusion about package requirements
   - Resolution: Added detailed validation with clear error messages

#### Minor Fixes
1. Fixed memory leak in concurrent queue-based logging
2. Improved error handling in Configuration Viewer
3. Fixed race condition in progress reporting
4. Corrected file path handling for Azure VLE installations
5. Fixed dialog service threading issues

### Known Issues

1. **Large Database Key Rotation**: Very large databases (>100GB) may take several hours for key rotation
   - **Workaround**: Schedule during extended maintenance window
   - **Status**: Performance optimization planned for future release

2. **Network Share Operations**: Operations on network shares may be slower
   - **Workaround**: Copy files to local drive first
   - **Status**: Under investigation

3. **Antivirus Interference**: Some antivirus software may flag file operations as suspicious
   - **Workaround**: Add InstallationManager.exe to antivirus exclusions
   - **Status**: Working with AV vendors for signature updates

### Deprecated Features

None in this release.

### Removed Features

1. **Combo Box Operation Selection**: Replaced with menu-based selection
   - **Reason**: Menu provides better UX and clearer operation organization
   - **Migration**: No action needed; menu provides same functionality

### Security Updates

1. **TLS 1.3 Support**: Now supports TLS 1.3 for secure communications
2. **Enhanced Credential Validation**: Improved Azure Key Vault authentication
3. **Secure Backup Handling**: Better protection of backup folders
4. **Sanitized Configuration Display**: Configuration viewer sanitizes sensitive data

### Performance Improvements

1. **Async Operations**: All major operations now run asynchronously
2. **Concurrent Queue Logging**: Reduced UI thread blocking
3. **Optimized File Copy**: Faster large file operations
4. **Lazy Service Initialization**: Faster application startup

### API Changes

#### For Developers
- **IFileOperationService Interface**: New shared service for file operations
- **Constructor Changes**: Operations now receive services via constructor injection
- **SystemUpdateOptions Enum**: No changes to operation types

#### Breaking Changes
None for end users. Some internal API changes for developers:
- `UpdateManager` constructor now accepts optional `IFileOperationService`
- Operations receive `IFileOperationService` in constructor

---

## Version 2025.3.0 (Previous Release)

**Release Date**: March 2025

### Highlights
- Initial release of modernized SystemUpdateAppCore
- Migrated from .NET Framework to .NET 8
- Introduced menu-based UI
- Added Configuration Viewer
- Implemented preview mode

### Major Features
- In-Place upgrade capability
- New installation configuration sync
- Maintenance release application
- Encryption key rotation
- Real-time logging and progress tracking

---

## Version History

| Version | Release Date | Framework | Key Features |
|---------|--------------|-----------|--------------|
| 2025.4.1 | Apr 2025 | .NET 8.0 | Template fixes, ZIP support, enhanced validation |
| 2025.3.0 | Mar 2025 | .NET 8.0 | Initial modern release, menu UI, preview mode |
| 2024.2.0 | Dec 2024 | .NET 8.0 | Beta release, core functionality |
| 2023.4.0 | Oct 2023 | .NET Framework 4.8 | Legacy version |

---

## Upgrade Instructions

### From Version 2025.3.0 to 2025.4.1
1. Stop any running instances of InstallationManager
2. Replace the executable and supporting DLLs
3. No configuration changes required
4. Launch the new version

### From Version 2024.x or Earlier
1. Ensure .NET 8.0 Desktop Runtime is installed
2. Replace all application files
3. Review the User Guide for UI changes
4. Test in non-production environment first

---

## System Requirements

### Minimum Requirements
- **OS**: Windows 10 (1809) or Windows Server 2016
- **.NET**: .NET 8.0 Desktop Runtime
- **RAM**: 512 MB
- **Disk**: 100 MB free space

### Recommended Requirements
- **OS**: Windows 11 or Windows Server 2022
- **RAM**: 2 GB or more
- **Disk**: 1 GB for backups and logs
- **Network**: Stable connection for Azure services (if applicable)

---

## Installation

### New Installation
1. Extract the installation package to desired location
2. Verify .NET 8.0 Desktop Runtime is installed
3. Run `InstallationManager.exe` as Administrator

### Upgrade Installation
1. Close all instances of previous version
2. Backup existing configuration (if any)
3. Replace files with new version
4. Launch and verify functionality

---

## Compatibility

### SurePassID Server Versions
- **Fully Compatible**: 2025.x, 2024.x
- **Compatible**: 2023.x (with limitations)
- **Not Compatible**: 2022.x and earlier

### Operating Systems
- **Fully Tested**: Windows 11, Windows Server 2022
- **Supported**: Windows 10 (1809+), Windows Server 2016+
- **Not Tested**: Windows Server 2012 R2 (may work)

### Database Servers
- **Fully Compatible**: SQL Server 2022, SQL Server 2019
- **Compatible**: SQL Server 2017, SQL Server 2016
- **Limited Support**: Azure SQL Database

---

## Getting Help

### Documentation
- **User Guide**: `InstallationManager_User_Guide.md`
- **Admin Guide**: `InstallationManager_Admin_Guide.md`
- **Quick Reference**: `InstallationManager_Quick_Reference.md`

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

### Support
For technical support, please contact:
- **Email**: support@surepassid.com
- **Portal**: https://support.surepassid.com

---

## Feedback

We value your feedback! Please report issues or suggest enhancements through:
- SurePassID Support Portal
- Your account representative
- Email: support@surepassid.com

---

## Legal

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

### Trademarks
SurePassID is a registered trademark of SurePassID Corporation. All other trademarks are the property of their respective owners.

### License
This software is licensed under the SurePassID Software License Agreement. See LICENSE file for details.

---

**Document Version**: 1.0  
**Last Updated**: 2025-04-15  
**Product Version**: 2025.4.1
