禁用 AutoUpdater 默认通知,或改进它们以使用显示名称而不是 AppID 或 system-calculated 名称

Disable AutoUpdater default notifications, or improve them to use display names instead of AppID or system-calculated names

ElectronNET AutoUpdater 似乎正在向 Windows 发布我没有要求的通知。除了我确实要求的那些,我现在有重复的(从我的质量检查人员的角度来看)。

更糟糕的是,默认消息使用内部 AppId,而不是看起来不专业的 App 显示名称。

请原谅这些删改,但请注意以下几点:

有谁知道如何克服这些限制? 如果需要的话,我很乐意分叉 ElectronNET cli 并覆盖一些构建过程,但这些似乎对整个平台来说是相当明显的需求。

也许我只是错过了文档中的某些内容?

回答我自己的问题,因为我已经提取并解决了 ElectronNET 代码。

有两个 API 用于检查更新: Electron.AutoUpdater.CheckForUpdatesAsync()
Electron.AutoUpdater.CheckForUpdatesAndNotifyAsync()

后者中有一个NotificationOptions对象,可以发送到pure-Electron端来设置通知的内容。在 ElectronNET 桥中,API 不接受选项参数,因此显示来自 Electron 的默认消息。

此处的解决方法是改为调用 CheckForUpdatesAsync() 方法并制作您自己的通知,您可以将其附加到 OnUpdateDownloaded 事件。下面的例子:

var timer = new Timer( 60_000 ) { AutoReset = true, Enabled = true };
timer.Elapsed += ( _, _ ) => Electron.AutoUpdater.CheckForUpdatesAsync();

Electron.AutoUpdater.OnUpdateDownloaded += upd =>
    Electron.Notification.Show( 
        new NotificationOptions( 
            "My App",
            "A new version is available. Restart to install."
        )
    );