2

ClickOnce によってインストール/更新される VSTO Excel テンプレート プロジェクトがあります。自動更新を実行すると問題なく更新されますが、手動更新のオプションをユーザーに提供したいと思います。

問題は、ApplicationDeployment.CurrentDeployment.UpdateAsync (または .Update) を実行してもエラーにはならず、デプロイが単に更新されないことです。プログラムの追加と削除のバージョン番号は同じままで、さらに珍しいことに、ApplicationDeployment.IsNetworkDeployed フラグが false に切り替わります。

したがって、.Update を実行する唯一の効果は、IsNetworkDeployed を false に設定することです。完全なコードは少し長いですが、基本的には次のようになります。

Private Sub ThisWorkbook_Startup() Handles Me.Startup
  Dim info As UpdateCheckInfo

    If ApplicationDeployment.IsNetworkDeployed Then
        Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
        info = AD.CheckForDetailedUpdate
        If info.UpdateAvailable Then
            AD.UpdateAsync()
        End If
    End If

End Sub
4

1 に答える 1