2009-12-17 78 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屬性以查看是否存在任何異常。

相關問題