浏览器Silverlight应用程序 - 如何设置自动更新?

时间:2009-12-17 10:46:14

标签: silverlight silverlight-3.0

我想知道如何设置我的Silverlight项目以启用浏览器外应用程序的自动更新。

我在app.xaml.cs中添加了一些代码(见下文),重建应用程序,安装为浏览器外,在asseblyinfo.cs中更改了版本信息,重新编译,再次运行但不幸的是没有更新发生。我还缺少什么吗?

    public App()
    {
        this.Startup += this.Application_Startup;
        this.Exit += this.Application_Exit;
        this.UnhandledException += this.Application_UnhandledException;

        InitializeComponent();

        if (Application.Current.IsRunningOutOfBrowser)
        {
            App.Current.CheckAndDownloadUpdateCompleted +=
                new CheckAndDownloadUpdateCompletedEventHandler(App_CheckAndDownloadUpdateCompleted);
            App.Current.CheckAndDownloadUpdateAsync();
        }
    }

    void App_CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
    {
        if (e.Error == null && e.UpdateAvailable)
        {
            MessageBox.Show("Application updated, please restart to apply changes.");
        }
    }

修改

奖金问题:

App如何检测到有更新?来自assemblyinfo.cs?在某些地方出现?

修改

有人可以解释一下,即使App从桌面快捷方式运行,为什么IsRunningOutOfBrowser总是返回FALSE?

2 个答案:

答案 0 :(得分:2)

感谢Silvelright论坛,有一个解决方案。

IsOutOfBrowser属性不能在构造函数中使用。它开始工作的时间是应用程序启动事件。

答案 1 :(得分:0)

确保Web服务器正在运行,以便客户端可以连接到服务器并检查更新。您可能还需要检查Error属性以查看是否存在任何异常。