У меня здесь немного волосатая пудра.
Я публикую приложение VS 2008 на сервере, который будет установлен через ClickOnce. Все идет нормально. Устанавливается просто отлично. Затем я добавил средство проверки обновлений ClickOnce, которое использует ApplicationDeployment для проверки и применения обновлений.
Пока все хорошо.
Тогда на некоторых машинах, на которых он был установлен, программа обновления не будет работать. Ошибка, которую он возвратил, состояла в том, что приложение уже было установлено с другого URI - который не был.
Достаточно покопавшись, я обнаружил, что:
URL 1: htfp: //www.domain.com/app/myapp.application
URL 2: htfp: //www.domain.dom/App/myapp.application
ClickOnce считает, что URL-адреса 1 и 2 совершенно разные - даже если «приложение» содержит заглавную А в URL-адресе 2, и оба указывают на один и тот же действительный файл приложения.
Когда я узнал об этом, я отредактировал все наши ссылки в интрасети, чтобы указать на строчную версию URL, которая работает на данный момент, но всегда есть вероятность, что кто-то может установить ее с «неправильного» URL - Единственное решение состоит в том, чтобы принудительно удалить и переустановить приложение с правильного URL.
Как принудительно проверить URL развертывания, на который ClickOnce проверяет наличие обновлений? Кажется, он генерирует свой манифест на основе URL, с которого он был установлен, поэтому я не уверен, что смогу исправить его с конца VS.
Спасибо
~ Wogan