1

它是下载所有二进制文件还是只下载其中的一部分以评估二进制文件是否是新版本?

4

1 回答 1

1

简而言之,它评估包含所有二进制文件的 XAP,但如果 XAP 上的版本没有更改,则它看不到任何更改。

以下是对该方法的更多说明(从此处提取但出于历史原因粘贴):

特征:

• 检测网络连接(有时它会严重失败……)

• 连接到安装它的原始授权 URL

• 下载新的 XAP 文件并将当前版本与清单中下载的版本进行比较

• 检测当前 Silverlight 版本与新版本的 Silverlight 版本

• 如果发生故障,提供故障异常类型进行恢复,例如“PlatformNotSupportedException”</p>

限制:

• 不能中断请求。所以当它超时时,我们等待它。

• 无法下载更新并选择安装和替换当前运行的 XAP。只检测较新版本的标志会更好。这将允许 UI 显示当前版本和可用的更新版本。

• 为“UpdateAvailable”属性返回false 有多种原因,例如新XAP 未签名、是较新的Silverlight 版本或各种其他错误。然后我们必须查看放置在错误集合中的所有可能的错误类类型。因此,一堆try-catch 是必要的。只要我们在 catch 中包含所有可能的错误类型,try-catch 就可以完成这项工作。实际错误原因的枚举可能会更好。

• 无法恢复到以前的稳定版本并安装在较新的坏版本上。这是有道理的,但真正的开发团队在更新生产版本时有恢复计划。

于 2012-11-06T13:09:11.693 回答