我已经通过 google 和 SO 搜索了这个问题的可能答案,但只能找到散布在这个地方的一小部分信息,其中大部分似乎是个人意见。
我知道这个问题可能被认为是主观的,但我不是在寻找个人意见,而是在寻找有原因的事实(例如过去的经验),甚至是指向描述最佳实践的博客/wiki 的单个链接(这是我更愿意说实话)。我不想要的是如何使这项工作,我知道如何创建一个自我更新的桌面应用程序。
我想了解创建自更新桌面应用程序的最佳实践。我特别好奇的最佳实践是:
- 如果客户端软件已过期,但在尝试与其他版本的软件或数据库本身通信时不会中断,您是否会强制更新?如果是这样,您如何表示这种重大变化?
- 您应该多久检查一次更新?每周/每天/每小时,究竟为什么?
- 更新应该对用户可见还是从 UI 的角度在幕后运行?
- 如果不是主要更新,您是否应该通知用户有可用的更新?(例如,在只有一个用户实际需要的应用程序的远程部分修复单个按钮)
- 您应该尝试修补应用程序还是从 Macintosh 风格重新下载整个应用程序?
- 您应该允许用户从中央位置更新还是只允许通过指定的应用程序进行更新?(对于封闭的业务应用程序)。
当然有一些关于这些东西的书面规则/建议?许多应用程序最烦人的事情之一就是更新,因为很难在“过时”和“在用户面前”之间找到一个很好的平衡点。
如果它有助于考虑用 .net C# 为单个客户端编写,运行在与更新服务器具有持续可用连接的机器上,所有这些机器都通过应用程序相互通信,并且都与中央数据库服务器通信.