プログラム中でClickOnceアプリを更新する

ClickOnceアプリケーションは、起動時に更新確認をしてくれますが更新を行わないでスキップすることもできます。

これをプログラム中で強制的に更新してみます。

プログラム中から更新する

プログラム中から更新するには、「ApplicationDeployment」又は「My.Application.Deployment」を使用します。

次の例では、「ApplicationDeployment」を使用しています。

If Not ApplicationDeployment.IsNetworkDeployed Then
    MessageBox.Show("ClickOnce を使用していません。")
    Return
Else
    If ApplicationDeployment.CheckForUpdate() Then
        '強制的にアップグレード
        Dim deploy As ApplicationDeployment
        deploy = ApplicationDeployment.CurrentDeployment
        deploy.Update() 'アップグレードの実行
        MessageBox.Show("更新終了。再起動します。")
        Application.Restart()
    End If
End If

更新が実行されアプリケーションの再起動が実行されます。