是否有NuGet等效项才能将内容部署到最终用户? [英] Is there a NuGet equivalent for deploying content to end users?

查看:75
本文介绍了是否有NuGet等效项才能将内容部署到最终用户?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我知道我可以创建一个ClickOnce应用程序以实现该功能,但是它不能允许我进行很多控制(例如,我希望能够使用我的软件轻松地捆绑第三方组件,或者能够让用户确定他们想要更新哪些组件)。



我看到诸如NotePad ++之类的程序具有专用的更新程序,但我希望我可以从其他人中受益,而不是从头开始开发自己的更新程序。





我有什么选择?

解决方案

您可以签出一些不同的选项。



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



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



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



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



会推荐这一点,因为我上次打开一张机票时,他几乎立即对它讲话。



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



没有一个解决方案会下降100%,因为应用程序更新是很难一概而论的事情之一。



对我来说我结束了做事是两件事之一



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



2)在AWS S3上使用组件索引进行滚动。 xml列出了组件,并指向url以获取每次更新。



此外,如果我要更新主应用程序,通常情况下我该如何做(如果应用程序已经在运行)


  1. 检查更新。

  2. 如果有更新,请下载

  3. 在应用程序启动时,请在本地检查更新文件。

  4. 如果存在,请以静默方式安装

如果应用程序未在运行,我会在启动时进行更新检查/下载/安装(但这仅在人们运行绝对最新的状态非常重要时)



最后,这些框架都无法100%满足您的需求,因为没有相同的情况,希望它们能为您提供大部分帮助。 / p>

I have a c# application and I am mainly concerned with pushing out automatic updates to clients running my software. These updates can be anything from a new / patched dll to new resource file.

I know I can create a ClickOnce application to get part way there, but it doesn't allow much control as I would like (for example, I want to be able to easily "bundle" 3rd party components with my software or be able to have the user decide which components they want to have updated).

I see that programs like NotePad++ have a dedicated updater, but I'm hoping that I can piggy back from others as opposed to rolling my own updater from scratch.

What are my options?

解决方案

There are a few different ones you can check out.

This one has been talked about/around for awhile, but I haven't heard any news of wether or not it's actually ready to be used yet

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

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

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

Would recommend this one, as last time I opened a ticket he addressed it almost immediately.

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

None of them will be a 100% drop in solution because application updating is one of those things that's hard to generalize.

For me what I end up doing is one of two things

1) Use http://www.myget.org to host my updates, and roll my own system that downloads/restarts/updates things.

2) Roll my own with a component index on AWS S3. The xml lists the components and points to the url to get each update. From there your application decides how/when to stop/update/restart it.

Also, if I'm updating the main application, generally how I do it(If the application is already running)

  1. Check for an update.
  2. If there is an update, download it.
  3. On start of the application, check for the update file locally.
  4. If it exists, install it silently

If the application isn't running I do an update check/download/install on start(but that's only when it's critical that people are running the absolute latest).

In the end though, none of those frameworks will 100% fit your needs, because no scenario is the same, hopefully they get you most of the way though.

这篇关于是否有NuGet等效项才能将内容部署到最终用户?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆