From 0e4253ba3744f32a2a135ba0b83df532ce3b9509 Mon Sep 17 00:00:00 2001 From: hariel1985 Date: Tue, 31 Mar 2026 08:38:08 +0200 Subject: [PATCH] =?UTF-8?q?v1.10=20=E2=80=94=20Activation=20with=20key=20d?= =?UTF-8?q?ialog,=20auto-refresh,=20Access=20restriction,=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Product key dialog: Fluent overlay with 5-field input + paste support - Activate button on each license card asks for key first (/inpkey + /act) - Auto-refresh lists after removal/activation on all pages - Access checkbox disabled for Standard and Home & Business editions - MSI uninstall: only accept {GUID} product codes (fix msiexec help popup) - Window height properly resets when Details expander is collapsed Co-Authored-By: Claude Opus 4.6 (1M context) --- InstaSoftOfficeTool.csproj | 6 +- MainWindow.xaml | 6 +- MainWindow.xaml.cs | 5 ++ Pages/ConfigPage.xaml.cs | 9 ++- Pages/ProductKeyDialog.xaml | 69 ++++++++++++++++++ Pages/ProductKeyDialog.xaml.cs | 124 +++++++++++++++++++++++++++++++++ Pages/RemovePage.xaml.cs | 9 ++- Pages/TroubleshootPage.xaml | 2 +- Pages/TroubleshootPage.xaml.cs | 69 ++++++++++++++---- Services/LicenseManager.cs | 20 ++++++ Services/OfficeDetector.cs | 6 +- 11 files changed, 303 insertions(+), 22 deletions(-) create mode 100644 Pages/ProductKeyDialog.xaml create mode 100644 Pages/ProductKeyDialog.xaml.cs diff --git a/InstaSoftOfficeTool.csproj b/InstaSoftOfficeTool.csproj index 118726f..9b5d997 100644 --- a/InstaSoftOfficeTool.csproj +++ b/InstaSoftOfficeTool.csproj @@ -9,9 +9,9 @@ InstaSoft Zrt. InstaSoft Office Tool Copyright (c) InstaSoft Zrt. 2026 - 1.0.9 - 1.0.9.0 - 1.0.9.0 + 1.1.0 + 1.1.0.0 + 1.1.0.0 app.manifest latest diff --git a/MainWindow.xaml b/MainWindow.xaml index c5c6701..6c8171d 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -45,7 +45,7 @@ Foreground="{StaticResource TextSecondaryBrush}" Margin="0,-2,0,0"/> - @@ -76,6 +76,8 @@ - + + + diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 5ab2625..3d74c0b 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -202,6 +202,11 @@ namespace InstaSoftOfficeTool return Dialog.ShowAsync(title, message, confirmText, cancelText, type); } + public Task AskProductKeyAsync() + { + return KeyDialog.ShowAsync(); + } + public void ShowBackToHomeButton() { BtnBack.Content = "\u2190 F\u0151oldal"; diff --git a/Pages/ConfigPage.xaml.cs b/Pages/ConfigPage.xaml.cs index df814c4..24e29eb 100644 --- a/Pages/ConfigPage.xaml.cs +++ b/Pages/ConfigPage.xaml.cs @@ -53,10 +53,15 @@ namespace InstaSoftOfficeTool.Pages ? !_config.ExcludedApps.Contains(app.Id) : app.DefaultChecked; + bool isProPlus = _config.Edition != null && + _config.Edition.ProductId.Contains("ProPlus"); + bool accessOnly = app.Id == "Access"; + var cb = new CheckBox { Content = app.DisplayName, - IsChecked = isChecked, + IsChecked = accessOnly && !isProPlus ? false : isChecked, + IsEnabled = !(accessOnly && !isProPlus), Tag = app.Id, Style = (Style)FindResource("FluentCheckBox"), Margin = new Thickness(0, 4, 24, 4), @@ -79,7 +84,7 @@ namespace InstaSoftOfficeTool.Pages _config.ExcludedApps.Clear(); foreach (var cb in _appCheckBoxes) { - if (cb.IsChecked != true) + if (cb.IsChecked != true || !cb.IsEnabled) { _config.ExcludedApps.Add((string)cb.Tag); } diff --git a/Pages/ProductKeyDialog.xaml b/Pages/ProductKeyDialog.xaml new file mode 100644 index 0000000..0fa1423 --- /dev/null +++ b/Pages/ProductKeyDialog.xaml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +