ApplicationDeployment.Update メソッド
アセンブリ: System.Deployment (system.deployment.dll 内)

Dim instance As ApplicationDeployment Dim returnValue As Boolean returnValue = instance.Update
アプリケーションが更新されている場合は true。それ以外の場合は false。


アプリケーションの新しいバージョンを UpdateLocation で指定された場所に発行すると、そのアプリケーションは最新と見なされます。また、アプリケーションの配置マニフェストのバージョン番号は、ユーザーのコンピュータに現在インストールされているアプリケーションのバージョン番号よりも大きい番号になります。
このメソッドを呼び出すと、更新がクライアント コンピュータにダウンロードされ、ClickOnce のキャッシュにインストールされるまでブロックされます。この間、アプリケーションはユーザーに対して応答しません。アプリケーションの応答を維持する必要がある場合、またはダウンロード中に進行状況の報告を表示する場合は、このメソッドではなく UpdateAsync メソッドを使用します。
Update は、アプリケーション マニフェストに "optional" としてマークされていない配置内のすべてのファイルをダウンロードします。DownloadFileGroup メソッドまたは DownloadFileGroupAsync メソッドを使用すると、必要に応じてオプション ファイルをダウンロードできます。
このメソッドを呼び出したときに、ClickOnce によってアプリケーションの更新が既に自動的に開始されている場合があります。この場合、このメソッドの呼び出しによって、InvalidOperationException がスローされます。
配置内で 1 つ以上のファイルを更新しており、アプリケーション マニフェストを更新していない場合、InvalidDeploymentException が発生します。ほとんどの場合、ClickOnce アプリケーションを再配置することによって解決します。配置マニフェストまたはアプリケーション マニフェストの公開キーの署名が無効であったり、欠落したりしている場合にも、この例外が発生します。
更新で要求されるローカル コンピュータの信頼のレベルが、以前のバージョンよりも高い場合があります。アプリケーションが信頼されたアプリケーションの配置を使用している場合、共通言語ランタイムの信頼マネージャは配置マニフェストを調べ、有効な信頼ライセンスが含まれているかどうかを確認します。配置マニフェストに有効な信頼ライセンスが含まれていない場合、ClickOnce はインストールを中止し、TrustNotGrantedException をスローします。Update によって、アプリケーションの実行に必要なアクセス許可を付与するかどうかをユーザーに確認するプロンプトが表示されることはありません。

アプリケーションの更新をチェックし、更新を利用できる場合は同期でインストールするコード例を次に示します。
Private Sub InstallUpdateSyncWithInfo() Dim info As UpdateCheckInfo = Nothing If (ApplicationDeployment.IsNetworkDeployed) Then Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment Try info = AD.CheckForDetailedUpdate() Catch dde As DeploymentDownloadException MessageBox.Show("The new version of the application cannot be downloaded at this time. " + ControlChars.Lf + ControlChars.Lf + "Please check your network connection, or try again later. Error: " + dde.Message) Return Catch ioe As InvalidOperationException MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " + ioe.Message) Return End Try If (info.UpdateAvailable) Then Dim doUpdate As Boolean = True If (Not info.IsUpdateRequired) Then Dim dr As DialogResult = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel) If (Not System.Windows.Forms.DialogResult.OK = dr) Then doUpdate = False End If End If If (doUpdate) Then Try AD.Update() MessageBox.Show("The application has been upgraded, and will now restart.") Application.Restart() Catch dde As DeploymentDownloadException MessageBox.Show("Cannot install the latest version of the application. " + ControlChars.Lf + ControlChars.Lf + "Please check your network connection, or try again later.") Return End Try End If End If End If End Sub
private void InstallUpdateSyncWithInfo() { UpdateCheckInfo info = null; if (ApplicationDeployment.IsNetworkDeployed) { ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment; try { info = ad.CheckForDetailedUpdate(); } catch (DeploymentDownloadException dde) { MessageBox.Show("The new version of the application cannot be downloaded at this time. \n\nPlease check your network connection, or try again later. Error: " + dde.Message); return; } catch (InvalidDeploymentException ide) { MessageBox.Show("Cannot check for a new version of the application. The ClickOnce deployment is corrupt. Please redeploy the application and try again. Error: " + ide.Message); return; } catch (InvalidOperationException ioe) { MessageBox.Show("This application cannot be updated. It is likely not a ClickOnce application. Error: " + ioe.Message); return; } if (info.UpdateAvailable) { Boolean doUpdate = true; if (!info.IsUpdateRequired) { DialogResult dr = MessageBox.Show("An update is available. Would you like to update the application now?", "Update Available", MessageBoxButtons.OKCancel); if (!(DialogResult.OK == dr)) { doUpdate = false; } } if (doUpdate) { try { ad.Update(); MessageBox.Show("The application has been upgraded, and will now restart."); Application.Restart(); } catch (DeploymentDownloadException dde) { MessageBox.Show("Cannot install the latest version of the application. \n\nPlease check your network connection, or try again later. Error: " + dde); return; } } } } }
public: void InstallUpdateSync() { if (ApplicationDeployment::IsNetworkDeployed) { bool isUpdateAvailable = false; ApplicationDeployment^ appDeployment = ApplicationDeployment::CurrentDeployment; try { isUpdateAvailable = appDeployment->CheckForUpdate(); } catch (InvalidOperationException^ ex) { MessageBox::Show("The update check failed. Error: {0}" , ex->Message); return; } if (isUpdateAvailable) { try { appDeployment->Update(); MessageBox::Show( "The application has been upgraded, and will now " + "restart."); Application::Restart(); } catch (Exception^ ex) { MessageBox::Show("The update failed. Error: {0}", ex->Message); return; } } } }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からApplicationDeployment.Update メソッドを検索する場合は、下記のリンクをクリックしてください。

- ApplicationDeployment.Update メソッドのページへのリンク