Развернутое приложение ClickOnce просит установить обновление, даже если его нет - PullRequest
1 голос
/ 17 января 2012

У меня развернуто приложение ClickOnce, написанное на C #.Интересно, сталкивался ли кто-нибудь с такой же проблемой.

Развернутое приложение Clickonce проверяет наличие обновлений всегда перед выполнением.Один из моих клиентов, использующих это приложение, сообщает мне об обновлении, которое приложение просит установить, даже если мы не развернули обновление, которое мы развернули.Мои клиенты установили обновление.Но то, что было установлено, это та же версия.На этом этапе мне интересно, почему приложение clickonce решает, будет ли развернуто обновление.Я считаю, что это странная проблема, которую я не мог понять, почему это произошло.

Есть ли кто-нибудь, кто знает, почему может произойти такая странная вещь?Я подозреваю, что могут быть удалены некоторые файлы установки, что приводит к переустановке программы.Но я не уверен.

1 Ответ

2 голосов
/ 17 января 2012

У нас уже была эта проблема с некоторыми из наших клиентов. Проблема в конечном итоге связана с кэшированием объектов на их прокси-сервере. По сути, клиент на самом деле работает со старой версией , поэтому, когда они запускают вашу программу, ClickOnce правильно сообщает, что доступно обновление. Проблема заключается в том, что прокси-сервер клиента кэширует старую копию вашей программы, поэтому при запуске программы обновления прокси-сервер перехватывает запрос на обновление и вместо этого отправляет обратно кешированную копию вашей программы вместо обновления. До следующего запуска ClickOnce не замечает, что «обновленная» программа все еще не обновлена.

Решение состоит в том, чтобы связаться с ИТ-персоналом вашего клиента и попытаться выяснить, где происходит кэширование, и заставить его очистить кеш. Вероятно, он находится на их собственном прокси-сервере, но веб-фильтры, такие как Barracuda , также выполняют кэширование объектов, как и некоторые из более интересных маршрутизаторов Cisco.

...