У меня есть проект VSTO Excel Template, который устанавливается/обновляется ClickOnce. Если я запускаю автоматическое обновление, оно прекрасно обновляется, но я хотел бы дать пользователю возможность обновления вручную.Руководство пользователя ClickOnce Обновление завершено, но не обновляется
Проблема заключается в том, что выполнение 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
У Криса Маки есть блог, где он [обсуждает работу] (http://blogs.msdn.com/b/krimakey/archive/2008/04/18/click-once-forced-updates-in-vsto- ii-a-fuller-solution.aspx) для этой проблемы, но на самом деле она не затрагивает вопрос о том, почему .Update не работает. Я бы предпочел решение, в котором мне не нужно перезапускать Excel. – QuinRiva