当安装 Silverlight 4 应用程序并在浏览器外运行 (OOB) 时,是否可以让应用程序自动识别对 .xap 文件的更新(并自动安装或提示用户更新)?
如果您从其原始 Web URL 访问该应用程序,您将自动获得最新和最好的(基于您的设置)。
但是,一旦我安装应用程序运行 OOB,它似乎无法识别对原始 .xap 文件的更新,似乎也没有任何方法可以触发更新(除了右键单击、卸载,然后出去获取最新版本的网站)。
提前致谢
当安装 Silverlight 4 应用程序并在浏览器外运行 (OOB) 时,是否可以让应用程序自动识别对 .xap 文件的更新(并自动安装或提示用户更新)?
如果您从其原始 Web URL 访问该应用程序,您将自动获得最新和最好的(基于您的设置)。
但是,一旦我安装应用程序运行 OOB,它似乎无法识别对原始 .xap 文件的更新,似乎也没有任何方法可以触发更新(除了右键单击、卸载,然后出去获取最新版本的网站)。
提前致谢
这是您的应用程序需要实现的东西。但是,该Application
对象提供了一种通过CheckAndDownloadUpdateAsync方法实现此目的的简单方法。
查看 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();
}