General Fixes
Fix (installer): Improve installation and uninstallation process
- Fix incomplete uninstallation by adding proper [UninstallDelete] section
- Remove duplicate executable issue by optimizing file copying strategy
- Reduce installer size by ~40% (from ~125MB to ~74MB) by excluding unnecessary runtime components
- Add support for clean updates by implementing pre-installation cleanup
- Preserve Scripts folder during updates while removing old files
- Ensure proper internationalization by including language resource folders
- Add automatic application termination during uninstallation
Implement Custom UAC Settings Persistence
- Created a new CustomUacSettings model to represent custom UAC settings
- Implemented IUacSettingsService interface to define the contract for UAC settings persistence
- Added UacSettingsService to handle saving and loading custom UAC settings from UserPreferences.json
- Modified UacOptimizations to work with the new service-based approach
- Updated WindowsSystemService to use the new IUacSettingsService
- Enhanced WindowsSecurityOptimizationsViewModel to properly handle custom UAC settings
- Fixed potential deadlocks by making TryGetCustomUacValues completely synchronous
- Ensured Custom UAC option remains in dropdown when custom settings exist in preferences
Winhance.Installer.exe SHA256: ea71a876062ec20b37ab7afc448f264b1f43c5d31f1c8d1bbeb27844fd8f5b1e