【问题标题】:check for online update when open program in C# [duplicate]在 C# 中打开程序时检查在线更新 [重复]
【发布时间】:2011-11-08 13:54:24
【问题描述】:

可能重复:
Suggest a method for auto-updating my C# program

如果这个问题已经被问过,我很抱歉。 我有一个在线更新的问题,因为我不知道如何添加代码以检查更新程序以及检查是否找到更新的版本升级本身。

但是,每次我对程序进行更改时 人们将不得不下载新版本。

我有一个主机,主机没有任何问题。 好吧,只有我需要添加代码来检查在线更新

打开程序时如何添加检查更新的代码? 我能做些什么 ? 我该怎么办 ? 你能帮帮我吗?

给我示例代码或示例项目以便理解。 谢谢。

【问题讨论】:

标签: c#


【解决方案1】:

您看过ClickOnce 技术吗?这是自动内置到任一

1) 不检查更新
2) 在应用程序启动之前检查更新或
3) 应用完成后检查更新。

这是规避问题的好方法,而且易于实施。

或者,如果您想手动执行此操作,请利用 System.Reflection 命名空间并使用 Assembly.GetExecutingAssembly().GetName().Version 属性来获取应用程序的版本。然后做任何你需要做的条件比较,看看这是否是最新版本,如果不是,则更新应用程序。

【讨论】:

    【解决方案2】:

    当我想实现这样的东西时,我让它变得非常简单。

    我下载了一个 xml 配置文件,解析了该文件,如果 xml 文档包含更新,我的程序将从我的网站下载该文件。我将 xml 文档分解为文件。由于您能够获得程序集的版本,因此这是一种有效的方法。

    由于您甚至没有尝试这样做,所以我将把它作为练习留给您。

    【讨论】:

    • 为什么在 ClickOnce 如此容易使用的情况下使用自定义机制?在您的情况下,您需要做的不仅仅是对项目设置进行几处更改。
    • @Polynomial - 我写了我 5 年前描述的内容。我也不明白如何创建和发布 ClickOnce 安装程序。在我的例子中,我还在我的程序中集成了一个浏览器,并编写了一个单独的更新程序。
    • 这并不意味着您应该向任何人推荐它,更不用说新手程序员了。
    • @Polynomial - 它符合我的目的,我想分享我所做的,只是因为你不同意,并不意味着它的答案无效。
    • 我不同意这是一种有效的更新机制。它起作用了,它会做OP想要的。但是,当有标准化的更新机制时,这不是一个好习惯。向新手程序员推荐非标准机制是更糟糕的做法。它只是给他们不好的做法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2016-01-15
    • 2012-07-03
    相关资源
    最近更新 更多