v1.10 — Activation with key dialog, auto-refresh, Access restriction, fixes

- 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) <noreply@anthropic.com>
This commit is contained in:
hariel1985
2026-03-31 08:38:08 +02:00
szülő eac8813cc0
commit 0e4253ba37
11 fájl változott, egészen pontosan 303 új sor hozzáadva és 22 régi sor törölve

Fájl megtekintése

@@ -161,5 +161,25 @@ namespace InstaSoftOfficeTool.Services
return string.Join("\n", results);
}
public async Task<string> InstallKeyAsync(string productKey)
{
if (string.IsNullOrEmpty(OsppPath))
return "Az ospp.vbs nem tal\u00e1lhat\u00f3.";
var runner = new ProcessRunner();
return await runner.RunAndCaptureAsync("cscript",
"//Nologo \"" + OsppPath + "\" /inpkey:" + productKey);
}
public async Task<string> ActivateAsync()
{
if (string.IsNullOrEmpty(OsppPath))
return "Az ospp.vbs nem tal\u00e1lhat\u00f3.";
var runner = new ProcessRunner();
return await runner.RunAndCaptureAsync("cscript",
"//Nologo \"" + OsppPath + "\" /act");
}
}
}

Fájl megtekintése

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Text.RegularExpressions;
using InstaSoftOfficeTool.Models;
using Microsoft.Win32;
@@ -92,11 +93,14 @@ namespace InstaSoftOfficeTool.Services
!displayName.Contains("Microsoft Office"))
continue;
// Only accept {GUID} product codes for MSI uninstall
bool isGuid = Regex.IsMatch(subKeyName, @"^\{[0-9A-Fa-f\-]+\}$");
results.Add(new InstalledOffice
{
DisplayName = displayName,
Version = version,
ProductCode = subKeyName,
ProductCode = isGuid ? subKeyName : null,
IsClickToRun = false,
IsSelected = true
});