Embed branding assets in app assembly

This commit is contained in:
Ray Berezowski
2026-06-02 20:19:47 -04:00
parent cf9aa63982
commit a0e157a8af
3 changed files with 19 additions and 5 deletions

View File

@@ -106,8 +106,22 @@ public sealed class LauncherController : IDisposable
private static Icon LoadTrayIcon()
{
string iconPath = Path.Combine(AppContext.BaseDirectory, "Assets", "TrayIcon.ico");
return File.Exists(iconPath) ? new Icon(iconPath) : SystemIcons.Application;
try
{
Uri iconUri = new("pack://application:,,,/Assets/TrayIcon.ico", UriKind.Absolute);
System.Windows.Resources.StreamResourceInfo? resource = System.Windows.Application.GetResourceStream(iconUri);
if (resource?.Stream is null)
{
return SystemIcons.Application;
}
using Icon icon = new(resource.Stream);
return (Icon)icon.Clone();
}
catch
{
return SystemIcons.Application;
}
}
private void LaunchItem(LauncherItem item)