Skip to content

Clean up the installer and release workflow - #91

Merged
danielchalmers merged 1 commit into
mainfrom
installer-and-session-cleanup
Oct 5, 2026
Merged

danielchalmers merged 1 commit into
mainfrom
installer-and-session-cleanup

Conversation

@danielchalmers

Copy link
Copy Markdown
Owner

Changes

  • Installed apps entry. Shows the app icon (ARPPRODUCTICON) and links to the project and its issues. v0.7.0 shows a generic icon and no links.
  • ICE03. The registry key in Package.wxs had doubled backslashes. Windows already normalized them to Software\Daniel Chalmers\RadialActions (checked on an existing install), so this writes the same key and only clears the validation error.
  • ICE64. Uninstall now removes the empty %LocalAppData%\RadialActions parent folder. RemoveFolder only removes empty folders, so kept settings still keep it.
  • Harvest. The Files harvest excludes *.settings*. A local dotnet publish folder used to run the app would otherwise put RadialActions.settings into the MSI, and an installer-owned settings file gets deleted on the next upgrade.
  • deploy.yml. artifactErrorsFailBuild: true, so a failed asset upload turns the release job red instead of leaving a release with missing downloads.

Validation

  • dotnet build: 0 warnings. dotnet test: 607 passed.
  • Built the MSIs locally with WiX 6.0.2 from a Release publish, using CI's recipe:
    • x64 and arm64 both build;
    • wix msi validate (with the expected per-user ICE38, ICE91 and ICE61 suppressed) passes, while main's package fails with ICE03 and ICE64;
    • with a stray RadialActions.settings in the publish folder, main's MSI includes it and this one doesn't.
  • Tested with an isolated test product that has its own UpgradeCode, folders and registry key:
    • Upgrading from today's package design while the app was running exited 0, left one instance of the new version, and kept the Start menu shortcut and HKCU value.
    • Installed apps shows the URL and help links, and the icon is cached at %AppData%\Microsoft\Installer\{ProductCode}\RadialActions.ico.
    • Uninstalling with no settings left removed the install folder, the parent folder, the Start menu folder and the registry key.

Not included

The review also suggested saving settings in OnSessionEnding, because a sign-out could end the process before WPF's queued shutdown saved an open Settings window. I simulated a sign-out three times on main: WM_QUERYENDSESSION and WM_ENDSESSION to every window, then terminating the process. The edit was saved every time, so no change is needed.

- Show the app icon and project links in Installed apps.
- Fix ICE03 (doubled backslashes in the registry key; Windows already wrote the same key) and ICE64 (remove the empty parent folder on uninstall).
- Never harvest a settings file left in the publish folder, since an installer-owned settings file is deleted on upgrade.
- Fail the release job when an asset upload fails instead of finishing green.
@danielchalmers
danielchalmers merged commit 5e70347 into main Oct 5, 2026
1 check passed
@danielchalmers
danielchalmers deleted the installer-and-session-cleanup branch October 5, 2026 22:35
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