我们有一个用WPF编写的企业Windows桌面应用程序,基于net8。它用于有时处于离线状态且仅通过移动数据连接到互联网的 PC。该应用程序会不时收到更新。
我想创建一个用户友好且 IT 管理员友好的安装/更新体验。理想情况下,IT 管理员无需执行任何操作。用户不是 IT 人员,而是懂 Windows 的人。
安装和更新通过互联网进行 - 这使我们能够确保安装/更新过程的安全。我们与 DigiCert 已有协议,我还查看了 Azure 可信签名。
单击一次
在您达到价格之前效果相当好。可信签名不支持对 ClickOnce 清单进行签名,因此我们只能使用 DigiCert - 价格相当昂贵(每 10_000 个签名约 3_000 美元)。 (根据我们的流程,我们每月需要大约 500 个签名。)
请注意,可信签名可为您提供 5_000 个签名,每月只需 10 美元。
MSIX
可信签名支持 MSIX。但是,大多数组织已禁用 ms-appinstaller(为什么)。 ms-appinstaller 管理自动更新和差异更新,因此您必须手动检查更新并下载整个 MSIX 包。最重要的是,MSIX 包始终包含运行时,因为未实现依赖于框架的打包,这在我们的情况下是有问题的(带宽有限)。
松鼠.Windows
结论
我的上述推理或发现有可能有错误吗?还有其他选择吗?
否则,我们似乎陷入了 ClickOnce 和昂贵的标志提供商的困境。
您是否考虑过创建一个安装基本 UI 的 MSI?您可以使用 Wix Toolset 等开源工具或 Advanced Installer 等付费工具来创建一个。
一些付费工具,例如高级安装程序的企业版,提供内置的自动更新工具来处理新版本的静默更新。这个工具也很昂贵,但至少您可以购买永久许可证(未来更新/维护是可选的),最终它的费用将比每年的 DigiCert 订阅少得多。
如果您选择使用 OSS 路线,您可以尝试将 Omaha 更新程序集成到您的 Wix Toolset 包中。 https://github.com/google/omaha
免责声明:我致力于团队建设高级安装程序。