Обязательно тщательно протестируйте развертывание ClickOnce в среде вашего клиента. Здесь я опускаю детали, но с ClickOnce возникает много проблем. Я поддерживаю приложение ClickOnce в течение 3,5 лет и столкнулся со многими проблемами с манифестами, необходимостью вручную удалять папки хранилища песочницы, чтобы обновления устанавливались правильно и т. Д. - если вы будете искать в Интернете проблемы с ClickOnce, вы найдете довольно несколько проблем на форумах MSDN и в других местах, многие из которых MS, похоже, не хочет решать, поскольку они были открыты с Visual Studio 2005.
Также помните о потенциальных проблемах в ClickOnce до .NET 3.5 SP1. Если у вас нет собственного сертификата развертывания программного обеспечения из CA, распознаваемого клиентскими компьютерами, Visual Studio использует «временный» сертификат (* .pfx), срок действия которого истекает через год после создания. По истечении этого времени последующие выпуски обновлений, вероятно, не будут устанавливаться и будут показывать пользователям пугающие сообщения об истечении срока действия сертификата. Microsoft исправила это в .NET 3.5 SP1, но вам пришлось покопаться в примечаниях к выпуску, чтобы найти комментарии о том, что временные или постоянные сертификаты больше не требуются. Итак - если у вас нет общедоступного сертификата CA и вы будете поддерживать это приложение в течение некоторого времени, убедитесь, что вы используете .NET 3.5 SP1.
В зависимости от сложности вашего сценария, поскольку вы спрашиваете о других решениях, мы в конечном итоге использовали подход «выбери свой собственный», который выглядит примерно так.
В каждом обновленном выпуске версия сборки увеличивается по мере необходимости.
Сборка содержит настраиваемый шаг для автоматического создания файла с новой версией сборки.
Проект развертывания копирует файл версии в выходной каталог с помощью MSI.
Каждый раз, когда установленное приложение запускается, оно сравнивает свою версию с версией в файле версии в папке развертывания. Если они отличаются, выйдите из приложения и запустите MSI, который мы настроили для автоматического удаления старых версий приложения.
Это «ClickOnce для бедняков» для среды, где нет никаких инструментов развертывания приложений avl (даже рекламы приложений AD), так что мы сделали это. Опять же, этот подход может быть недостаточно изощренным для вас, но он работает для нас.
Удачи.
person
pelazem
schedule
02.08.2009