C# 多版本更新程序
Posted
技术标签:
【中文标题】C# 多版本更新程序【英文标题】:C# multiple versions updater 【发布时间】:2013-05-28 05:46:37 【问题描述】:我正在开发一个包含两个名为 Updater 和 MainApp 的应用程序的 Updater 应用程序。 Updater App 使用 Web 服务来检查更新并更新 MainApp。单击更新按钮时,我可以实现更新,以进行下一次更新。
问题在于,如果有多个版本的更新可用,应用程序应该能够按顺序将自身更新到这些版本,并且最终应该通过单击更新按钮获得最新版本。我的意思是说用户不应该每次更新都点击更新按钮,一次更新点击应该将应用程序更新到其最终版本
例如,如果当前版本是 1.0.0.0,可用版本是 1.0.2.0、2.0.0.0、3.0.0.5。然后应用程序应将自身更新到 3.0.0.5,而不会错过更新 1.0.2.0 和 2.0.0.0。
请分享你的想法,
谢谢
卫生巾
【问题讨论】:
更新到下一个版本然后重新运行检查怎么样? @Vogel612:这可行,但用户将不得不再次单击检查更新。目标是直接将应用程序更新到最新版本,不会让用户烦恼,也不会错过任何更新。 你不明白。我在答案中阐述了我的想法 【参考方案1】:据我所知你有一些方法
public void checkForUpdates(object sender, EventArgs e)
//Check if updates are available and call Update(string version);
此方法检查更新,如果有可用的更新。 我建议你让它调用另一个函数来更新到下一个版本并重新检查:
public void update(string version)
//Update to next version (and only to next version)
//and then call check again, so you will update to the next and so on,
//till you are on newest version
checkForUpdates(null, null);
无论如何,您都需要“一个接一个地更新每个版本”,所以这是保持现实性和易于编程以及可读性的最简单方法
【讨论】:
【参考方案2】:您可以点击按钮查看最新版本,然后对大于您当前版本且小于或等于最新版本的可用更新进行排序,并进行多次更新。
【讨论】:
以上是关于C# 多版本更新程序的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C# 驱动程序更新 MongoDB 数组中的子文档