4

当安装 Silverlight 4 应用程序并在浏览器外运行 (OOB) 时,是否可以让应用程序自动识别对 .xap 文件的更新(并自动安装或提示用户更新)?

如果您从其原始 Web URL 访问该应用程序,您将自动获得最新和最好的(基于您的设置)。

但是,一旦我安装应用程序运行 OOB,它似乎无法识别对原始 .xap 文件的更新,似乎也没有任何方法可以触发更新(除了右键单击、卸载,然后出去获取最新版本的网站)。

提前致谢

4

2 回答 2

3

这是您的应用程序需要实现的东西。但是,该Application对象提供了一种通过CheckAndDownloadUpdateAsync方法实现此目的的简单方法。

于 2010-10-01T19:39:01.670 回答
3

查看 CheckAndDownloadUpdateAsync 方法但未找到更新的其他人的其他信息。确保您已签署您的 xap 文件。

“SL 项目”-> 属性-> 签名-> 勾选“签署 Xap 文件”

正如许多示例所暗示的,当 CheckAndDownloadUpdateAsync 放置在 Application_Startup() 中时,似乎会阻塞 UI 线程。将其放置在后台工作人员中的破坏性较小,并且允许我们自定义检查的频率。

更新:我不确定 CheckAndDownladUpdateAsync 是否仍然与 SL5 表现相同。这就是我使用 SL4 的方式:

我用 Dispatcher.BeginInvoke() 包装了任何需要 UI 线程的代码,包括:

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
  App.Current.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler(App_CheckAndDownloadUpdateCompleted);
  App.Current.CheckAndDownloadUpdateAsync();
}
于 2011-02-09T22:42:30.240 回答