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