diff --git a/CHANGELOG.md b/CHANGELOG.md
index 06e8b6de..f09993c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,15 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+## [1.7.3] - 2026-05-22
+
+### Fixed
+- **Critical: startup crash** — fixed "Entry point DefWindowProc not found in user32.dll"
+ that prevented the app from launching. P/Invoke declaration now correctly specifies
+ `DefWindowProcW` entry point.
+- **Shutdown crash** — fixed ObjectDisposedException when closing the app
+ (DnsHostsViewModel CTS disposal race condition).
+
## [1.7.0] - 2026-05-21
### Added
diff --git a/SysManager/SysManager/ViewModels/DashboardViewModel.cs b/SysManager/SysManager/ViewModels/DashboardViewModel.cs
index c64c15b2..c389cca1 100644
--- a/SysManager/SysManager/ViewModels/DashboardViewModel.cs
+++ b/SysManager/SysManager/ViewModels/DashboardViewModel.cs
@@ -121,11 +121,12 @@ private void RequestElevation()
[RelayCommand(CanExecute = nameof(CanRunTuneUp))]
private async Task RunTuneUpAsync()
{
- // Confirm Recycle Bin emptying before starting
- bool emptyBin = DialogService.Instance.Confirm(
- "Quick Tune-Up will clean temp files and scan your system.\n\n" +
- "Do you also want to empty the Recycle Bin?",
- "Quick Tune-Up");
+ if (!DialogService.Instance.Confirm(
+ "Quick Tune-Up will clean temp files, empty Recycle Bin, and scan your system.\n\nProceed?",
+ "Quick Tune-Up — Confirm"))
+ return;
+
+ bool emptyBin = true;
var opLock = OperationLockService.Instance.TryAcquire(
OperationCategory.Disk, "Quick Tune-Up");
diff --git a/SysManager/SysManager/Views/DnsHostsView.xaml b/SysManager/SysManager/Views/DnsHostsView.xaml
index 18e01343..40919d98 100644
--- a/SysManager/SysManager/Views/DnsHostsView.xaml
+++ b/SysManager/SysManager/Views/DnsHostsView.xaml
@@ -23,7 +23,7 @@
Style="{StaticResource Subtle}" Margin="0,4,0,0"/>
+ Visibility="{Binding IsElevated, Converter={StaticResource FlexVis}, ConverterParameter=Inverse}"/>
diff --git a/SysManager/SysManager/Views/UninstallerView.xaml b/SysManager/SysManager/Views/UninstallerView.xaml
index 4161ada3..7b8c660b 100644
--- a/SysManager/SysManager/Views/UninstallerView.xaml
+++ b/SysManager/SysManager/Views/UninstallerView.xaml
@@ -65,7 +65,8 @@
RowBackground="Transparent" AlternatingRowBackground="#0F141C"
SelectionMode="Single" CanUserSortColumns="True"
VirtualizingPanel.IsVirtualizing="True"
- VirtualizingPanel.VirtualizationMode="Recycling">
+ VirtualizingPanel.VirtualizationMode="Recycling"
+ Visibility="{Binding FilteredApps.Count, Converter={StaticResource GreaterThanZero}}">
+ VirtualizingPanel.VirtualizationMode="Recycling"
+ Visibility="{Binding UpdateCount, Converter={StaticResource GreaterThanZero}}">