Автоматическое обновление программного обеспечения Windows
Каковы некоторые хорошие решения для обработки автоматических обновлений программного обеспечения для веб-сайтов для проектов окон? Я знаю, что Microsoft в одно нажатие, но в это время меня это не интересует.
Ответы
Ответ 1
ClickOnce хорош для файлов cookie, но имеет некоторые ограничения по безопасности (т.е. не может создавать значок рабочего стола, не иметь доступа к COM и т.д.)
Предполагая, что вы используете MSI для установки вашего приложения. Используйте WIX (http://wix.sourceforge.net/), чтобы создать патч (.msp). Вы захотите заглянуть в "Приоритетную учетную запись пользователя" (LUA) для Vista, поскольку UAC задержит вас, если вы этого не сделаете.
Затем ваше приложение делает следующее:
- Проверить новую версию через HTTP
- Загрузите MSP (будьте осторожны с тем, где вы DL это в Vista из-за UAC)
- Начните операцию Shim, чтобы
- ждет закрытия вашего приложения.
- запускает msp (в неинтерактивном режиме)
- перезагружает ваше приложение.
Это может произойти автоматически за кулисами при нулевом взаимодействии с пользователем как с XP, так и с Vista.
Хорошее место для начала, и с WIX в целом:
http://www.tramontana.co.hu/wix/index.php
(Урок 4 обновляется)
Ответ 2
Не слишком спам, но наша компания предлагает решение для автоматического обновления. Он состоит из трех частей:
wyUpdate обрабатывает все проблемы UAC Vista/Windows 7 и все проблемы с правами на доступ к файлам, которые неизбежно появляются при попытке обновления сложного программного обеспечения.
Ответ 3
Мы написали свои собственные в свое время... Это была не очень хорошая идея. Во многих случаях вы можете использовать ClickOnce. Мы фактически используем продукт под названием AutoUpdate +, который мы можем рекомендовать. Особенно его особенностью является то, что он может избежать проблем с всплывающими окнами UAC.
Ответ 4
это действительно зависит от того, насколько необходим комплекс процесса обновления.
У меня было несколько клиентов с простыми потребностями, где мы создали собственную процедуру настройки, которая обрабатывала ее, примерно через 3 часа разработки у нас есть полностью работающее решение, отвечающее всем их потребностям.
Ответ 5
Microsoft одним щелчком мыши? Вы имеете в виду ClickOnce? Нажмите один раз, чтобы выиграть форму очень приятно. Развертывание выполняется быстро, и все процессы обновления обрабатываются сами по себе.
Ответ 6
но ClickOnce - это лучшее, что вы можете иметь, и вы можете выбрать, нужно ли пользователям загружать новую версию, использовать старые, идти назад версии и т.д.
вы всегда можете создать собственное решение, проверьте номер версии файла настроек XML в каком-либо веб-адресе, если он новее, чем текущий, измените пользователя, чтобы загрузить новую версию, например...
Ответ 7
Я также слышал, что он называется clicktwice: + > Решение WIX больше того, что меня интересует. Существуют ли какие-либо примеры приложений (с источником) для использования этой техники?
Ответ 8
Вот решение с открытым исходным кодом, которое я написал для удовлетворения конкретных потребностей, которые у нас были для WinForms и приложений WPF. Общая идея состоит в том, чтобы иметь максимальную гибкость при наименьших затратах.
Итак, Интеграция очень проста, и библиотека делает для вас почти все, включая операции синхронизации. Он также очень гибкий и позволяет вам определить, какие задачи выполнять и на каких условиях - вы создаете правила (или используете некоторые из них уже есть). Последнее, не в последнюю очередь, поддержка любого источника обновлений (веб, BitTorrent и т.д.) И любого формата фида - все, что не реализовано, вы можете просто написать для себя.
Холодные обновления (требующие перезагрузки приложения) также поддерживаются и выполняются автоматически, если для задачи не задано "горячая замена".
Это объединит до одной DLL, размером менее 70 КБ.
Подробнее на http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/
Код находится в http://github.com/synhershko/NAppUpdate (лицензия под лицензией Apache 2.0)