2009-12-17 81 views
3

我想知道如何设置我的Silverlight项目以启用浏览器外应用程序的自动更新。在浏览器之外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."); 
     } 
    } 

编辑

奖金的问题:

如何应用程序检测到有更新?从assemblyinfo.cs?体现在某处?

编辑

任何人都可以解释我为什么即使应用程序从桌面上的快捷方式运行IsRunningOutOfBrowser回报始终是FALSE?

回答

2

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

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

0

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

相关问题