Является ли ClickOnce способом развертывания приложений Windows Forms? - PullRequest
5 голосов
/ 02 марта 2010

Является ли ClickOnce способом развертывания приложений Windows Forms?

Я только что искал книги, в которых описывается развертывание ClickOnce, и их там совсем немного, а тем, которым несколько лет (?).


Дополнительные примечания о том, что я делаю:

  • Исполняемый файл и один файл базы данных ( SQLite )
  • База данных (SQLite) иногда должна обновляться приложением (например, добавить таблицу, добавить столбец)
  • Данные базы данных (которые являются просто файлом для SQLite), конечно же, должны оставаться при обновлении

Ответы [ 4 ]

9 голосов
/ 02 марта 2010

ClickOnce - все еще удивительная технология. Он берет на себя большое количество тяжелой работы с вашей стороны, но устраняет некоторые настройки, которые вы можете использовать с установщиком Windows.

Непосредственно со слов MS, ClickOnce преодолевает три проблемы в развертывании:

  • Проблемы с обновлением приложений. При развертывании установщика Microsoft Windows при каждом обновлении приложения пользователь должен переустанавливать все приложение; с развертыванием ClickOnce вы можете предоставлять обновления автоматически. Загружаются только те части приложения, которые были изменены, затем полностью обновленное приложение переустанавливается из новой параллельной папки.

  • Воздействие на компьютер пользователя . При развертывании установщика Windows приложения часто полагаются на общие компоненты, что может привести к конфликтам версий; при развертывании ClickOnce каждое приложение является автономным и не может создавать помехи другим приложениям.

  • Разрешения безопасности . Развертывание установщика Windows требует административных разрешений и допускает только ограниченную установку пользователя; Развертывание ClickOnce позволяет пользователям без прав администратора устанавливать и предоставлять только те разрешения Code Access Security, которые необходимы для приложения.

Я рекомендую внимательно прочитать: MSDN - развертывание ClickOnce . Кроме того, если он достаточно хорош для Google (Chrome), то для большинства из нас этого вполне достаточно ;)

5 голосов
/ 02 марта 2010

Это зависит от того, что вам нужно развернуть; если это один исполняемый файл, возможно, с несколькими файлами содержимого, то да, но если вам нужны пользовательские сценарии, установка служб и т. д., тогда я настоятельно рекомендую изучить Установщик Windows .

2 голосов
/ 02 марта 2010

Ответ также может зависеть от того, где вы развертываете? Вы пишете внутренне используемое приложение для компании, где у всех есть доступ к общему ресурсу в Интернете, где вы также можете развернуть свой ClickOnce? Если да, то ClickOnce отлично.

Если вы пытаетесь написать термоусадочное программное обеспечение для общего пользования, тогда лучшим вариантом будет создание проекта развертывания, который переходит к MSI, или даже использование продукта, такого как InstallShield или NSIS (он все еще существует?) .

1 голос
/ 02 марта 2010

ClickOnce отлично подходит, если вы согласны с ограничениями. Если у вас есть приложение для Windows, которое не нуждается в полномасштабном безумстве MSI , обязательно используйте ClickOnce.

ClickOnce заботится об автообновлении, а также о предыдущих версиях и откатах. Установка / удаление ClickOnce занимает несколько секунд, намного быстрее, чем традиционные MSI. Преимуществ много, поэтому, если вы согласны с ограничениями, обязательно используйте его.

...