关于为应用程序创建更新系统的指导和意见

时间:2010-05-26 22:12:11

标签: c# .net-3.5 winforms auto-update

我只是试图找到一个很好的解决方案来设计我创建的Windows窗体应用程序的更新过程。我想到了应用程序中的一个按钮,用于手动检查更新并检查启动应用程序的时间。只有我不熟悉技术。我虽然在FTP服务器中有更新设置文件,但检查服务器是否有带文件名和版本信息的txt文件的更新。当应用程序完成下载更新,关闭并启动更新安装文件时。

有关此主题的任何建议和意见吗?

2 个答案:

答案 0 :(得分:1)

这些天的应用程序更新是必要的证据之一。考虑到自动更新的应用程序,我倾向于将它们分为两类:

  1. 每月一次或更少的时间清理更新,快速更新,不会有太多的唠叨或点击。绝对没有像工具栏和桌面搜索程序那样包含鬼鬼祟祟的软件...... Firefox往往对更新很“不错”,尽管它的插件可能很麻烦。
  2. 另一组不断唠叨,需要大量按钮点击或重启,需要很长时间才能“解压缩”(Adobe Acrobat,看着你),根据您的意愿更改设置(Java),或者只是一般不愉快。
  3. 考虑到这些要点,请将自动更新设计为尽可能方便用户,并计划有时希望跳过更新的用户(除非对操作至关重要)。

    在我的公司,我们有一个需要更新的小应用程序,但也必须在非常时间敏感的环境中运行。为了便于更新,我们执行以下操作:

    1. 启动时,会在内部URL上检查文本文件(这可能是HTTP或FTP调用)。将版本号与文件内容进行比较。
    2. 如果软件是最新的,则不会再做任何其他事情。如果没有,则会出现一个对话框,通知用户应用程序必须执行更新。 (在我们的例子中,没有取消或等待的选项,但如果可以,我强烈推荐它。)
    3. 从同一站点下载安装文件,并通过Process.Start命令启动,并使用一些开关执行无人参与的安装/更新。
    4. 应用程序在安装后启动,对用户的干扰很小。
    5. 您可能希望采取不同的行动:

      • 如果未在启动时检查更新,请提供一个选项来安排更新检查或从(例如)帮助菜单中手动执行更新检查。
      • 如果可能,允许用户取消或延迟更新;没有什么比尝试使用弹出式对话框完成工作要求你每隔几分钟执行一次更新更令人沮丧。
      • 确保在部署之前测试安装包或修补程序! (经验之谈!)

答案 1 :(得分:1)