【问题标题】:Software Auto Update软件自动更新
【发布时间】:2011-02-27 01:18:31
【问题描述】:

我们正在用 C# 开发一个基于 Windows 的应用程序。我想为软件提供自动更新。事实上,一旦用户运行程序,它应该能够通知用户它将从服务器获取最新版本。我们已经使用 Visual Studio setup creator 创建了我们的设置。然后软件可以捕获是否有任何更新版本。我们正在为所有用户提供支持,如果我们有任何更新,我们会更新他们的服务器。如果有任何更新,我们可以更新用户数据库中的条目。我现在的问题是,我应该在哪里为用户存储最新的更新。

我最初的方法是将更新的设置文件存储在他们服务器的共享文件夹中。但是我们公司过去在这种方法上遇到了很多麻烦。所以,我不得不放弃这种方法。我现在想的是在 SQL Server 中上传可执行文件。我们的设置文件目前为 60Mb,但将来可能会增加到 100Mb 以上。你怎么看?这会是一个可行的解决方案吗?你有更好的想法吗?

【问题讨论】:

  • 点击一次有什么问题? True 对于命令行应用程序很糟糕,但对于 GUI 程序。 . .非常好和容易。您对此有何反对意见?
  • 我在这个类似的问题中列出了一些产品:stackoverflow.com/questions/4844978/…

标签: c# sql-server windows auto-update


【解决方案1】:

试试NetSparkle。它是一个适用于 .NET 开发人员的易于使用的软件更新框架。

【讨论】:

    【解决方案2】:

    如果不知道为什么你不喜欢 clickonce,很难给出任何有意义的答案。就我个人而言,我发现虽然 clickonce 并不是对所有部署都很好,但它对许多部署都非常好——而且在许多情况下它没有被采用,因为开发人员不知道如何配置它或从中获得最大收益。

    如果您真的无法使用 clickonce,请查看 Google 的 project omaha,这是一个简洁的自动更新程序,已安装在任何运行 Chrome 的 Windows 机器上。

    最后,如果您打算自己推出,我可能不建议将其存储在 SQL Server 中,除非首先检查这将如何影响您的备份和复制策略,至少。我真的看不出你会比 HTTP、UNC、FTP 或类似的存储区域获得什么优势。

    【讨论】:

    • Omaha 没有服务器部分。你需要写自己。
    【解决方案3】:

    不要在数据库中存储大型可执行文件。

    我相信您可以找到预构建解决方案,但如果您决定自己编写它,您可能会考虑在您部署的服务器上简单地存储一个指向最新版本的 URL。客户端上的更新软件只需通过该服务器进行身份验证,下载新版本,然后安装它。

    【讨论】:

    猜你喜欢
    • 2010-09-17
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 2017-05-22
    • 1970-01-01
    相关资源
    最近更新 更多