是否有 NuGet 等效工具可用于向最终用户部署内容?

2023-12-23

我有一个 C# 应用程序,我主要关心向运行我的软件的客户端推送自动更新。这些更新可以是任何内容,从新的/修补的 dll 到新的资源文件。

我知道我可以创建一个 ClickOnce 应用程序来实现这一目标,但它不允许我进行太多控制(例如,我希望能够轻松地将第三方组件与我的软件“捆绑”,或者能够让用户决定他们想要更新哪些组件)。

我看到像 NotePad++ 这样的程序有一个专用的更新程序,但我希望我可以借鉴其他程序,而不是从头开始滚动我自己的更新程序。

我有什么选择?


您可以查看几种不同的。

这个已经被讨论了一段时间了,但我还没有听到任何关于它是否真的可以使用的消息

https://github.com/Squirrel/Squirrel.Windows https://github.com/Squirrel/Squirrel.Windows

https://www.nuget.org/packages/NuSelfUpdate/ https://www.nuget.org/packages/NuSelfUpdate/

https://www.nuget.org/packages/NuGetUpdate/ https://www.nuget.org/packages/NuGetUpdate/

会推荐这个,因为上次我开票时他几乎立即解决了这个问题。

https://www.nuget.org/packages/Sidewinder.Core/ https://www.nuget.org/packages/Sidewinder.Core/

它们都不会是 100% 的解决方案下降,因为应用程序更新是难以概括的事情之一。

对我来说,我最终要做的是两件事之一

1) Use http://www.myget.org http://www.myget.org托管我的更新,并推出我自己的系统来下载/重新启动/更新内容。

2) 在 AWS S3 上使用我自己的组件索引。该 xml 列出了组件并指向获取每个更新的 url。从那里您的应用程序决定如何/何时停止/更新/重新启动它。

另外,如果我要更新主应用程序,通常我是如何做到的(如果应用程序已经在运行)

  1. 检查更新。
  2. 如果有更新,请下载。
  3. 启动应用程序时,在本地检查更新文件。
  4. 如果存在,则静默安装

如果应用程序没有运行,我会在启动时进行更新检查/下载/安装(但只有当人们运行绝对最新的软件至关重要时)。

但最终,这些框架都不会 100% 满足您的需求,因为没有一个场景是相同的,但希望它们能帮助您大部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有 NuGet 等效工具可用于向最终用户部署内容? 的相关文章

随机推荐