Skip to content

Add Managed Notifications Dialog, a Prefs/Run/Logs admin app beside dialog.exe - #10

Merged
rodchristiansen merged 1 commit into
mainfrom
feature/managed-notifications-gui
Oct 7, 2026
Merged

rodchristiansen merged 1 commit into
mainfrom
feature/managed-notifications-gui

Conversation

@rodchristiansen

Copy link
Copy Markdown
Contributor

What

A WinUI 3 admin app, Managed Notifications Dialog, with the same chrome and header as the other managed-tools GUIs (Mica, custom title bar, top navigation, app header with icon, links and version).

  • Prefs: csharpDialog reads no machine settings (no HKLM\SOFTWARE\Policies\csharpDialog, no HKLM\SOFTWARE\csharpDialog\Settings); every option is a CLI flag. So the tab is read-only: app and CLI versions, install folder, CLI path, app path, log folder. No Unlock, nothing written.
  • Run: pick a preset (information, progress, alert) and show it. The app runs dialog.exe with the preset's flags, unelevated, and streams stdout/stderr into a console coloured by level. Each preset uses --window and a 60-second --timeout.
  • Logs: lists %ProgramData%\ManagedNotifications\logs\csharpdialog.log and its rotated generations, with filter, open-in-editor and open-folder; lines coloured by level.
  • --tab run|logs|prefs opens on a tab.

Packaging

  • build.ps1 publishes the app into the same folder as the CLI, then generates resources.pri with makepri.exe (PriGen needs a VS workload CI runners lack). Both are self-contained from the same SDK; overlapping runtime files were compared and are identical.
  • MSI: adds a Start Menu shortcut. Product name, install folder and the UpgradeCode mechanism are unchanged. The CLI keeps its name, dialog.exe.
  • MSI now embeds its cabinet (MediaTemplate EmbedCab="yes"). Before, the cabs were written beside the MSI and the release uploaded only the .msi.
  • .pkg: postinstall also creates the Start Menu shortcut.

Tests

New tests/CsharpDialog.Core.Tests (25 tests): log-level colouring for both the file-log and stdout forms, presets parse through the real CommandLineParser, CLI lookup order, log generation listing. CI now runs them.

Verified

  • dotnet build (Release) and dotnet test: 25 passed.
  • build.ps1 -Build -Msi -Pkg -Runtime win-x64 produces the MSI and .pkg.

…ialog.exe

The WinUI 3 app installs as "Managed Notifications Dialog.exe" in the csharpDialog
Program Files folder, with a Start Menu shortcut. Prefs shows versions and paths
read-only, since csharpDialog reads no machine settings. Run shows an information,
progress or alert test dialog through dialog.exe. Logs reads the CLI's rolling log,
coloured by level. The CLI name, install folder and UpgradeCode are unchanged.

The MSI now embeds its cabinet, so the single .msi the release uploads installs.
@rodchristiansen
rodchristiansen merged commit a450c06 into main Oct 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant