ユーザーがブラウザー外にインストールできるSilverlightアプリケーションがあります。
右クリックして更新パネルを見ると、「更新を確認し、ダウンロードしてインストールするかどうかを選択できます。
(出典:deviantsart.com)
ただし、次のコードを使用すると、アプリケーションは新しいバージョンを自動的に検出してダウンロードし、ユーザーの操作なしでアプリケーションを次に起動したときに新しいバージョンを利用できます。
App.xaml.cs:
private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new BaseApp();
if (Application.Current.IsRunningOutOfBrowser)
{
Application.Current.CheckAndDownloadUpdateAsync();
Application.Current.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler(Current_CheckAndDownloadUpdateCompleted);
}
}
void Current_CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
{
if (e.UpdateAvailable)
{
//an new version has been downloaded and silverlight version is the same
//so user just has to restart application
}
else if (e.Error != null &&
e.Error is PlatformNotSupportedException)
{
//a new version is available but the silverlight version has changed
//so user has to go to new website and install the appropriate silverlight version
}
else
{
//no update is available
}
}
ただし、これはこの特定のアプリケーションに必要なものです。
Silverlightプレーヤーは、実際には更新が知らないうちにダウンロードおよびインストールされているときに、「更新をダウンロードしてインストールするかどうかを選択」できると信じているため、これはユーザーにとって誤解を招くものではありませんか?