Каков наилучший способ развертывания VB.NET приложения?

StackOverflow https://stackoverflow.com/questions/3544

Вопрос

Обычно, когда я использую ClickOnce при создании программы VB.NET, у нее есть несколько недостатков.Я никогда не использовал ничего другого, поэтому я не уверен какие у меня есть варианты.

Недостатки ClickOnce:

  • Состоит из нескольких файлов - Кажется, проще распространять один файл, чем управлять кучей файлов и загрузчиком для загрузки этих файлов.
  • Вы должны собрать его снова для установки на компакт-диск (для случаев, когда у конечного пользователя нет Интернета).
  • Программа не попадает в Program Files - она оказывается спрятанной в какой-нибудь папке application catch, что значительно затрудняет создание ярлыка для нее.

Плюсы ClickOnce:

  • Это работает.Волшебным образом.И это встроено в VisualStudio 2008 express.
  • Упрощает обновление приложения .

Выполняет ли установщик Windows и эти действия?Я знаю, что у него нет ни одного из минусов ClickOnce, но было бы неплохо узнать, есть ли у него также плюсы ClickOnce.

Обновить:В итоге я использовал Wix 2 (Wix 3 был доступен, но на момент, когда я работал над проектом, ни у кого не было компетентного руководства).Это было приятно, потому что поддерживало три вещи, которые мне (в конечном счете) были нужны.Необязательный ярлык для запуска с помощью Windows, опция запуска по завершении установки и три абзаца текста, которые, по мнению моего босса, удержат пользователей от нажатия неправильной опции.

Это было полезно?

Решение

Ты уже видел Викса?

http://wix.sourceforge.net/

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

Он будет обрабатывать обновления и другие элементы, если вы того пожелаете, и вы можете применить права доступа к папкам и тому подобное к установщикам.Это также дает вам больший контроль над тем, куда именно вы хотите установить файлы, и совместимо со всеми стандартными соглашениями о папках Windows, поэтому вы можете указать "PROGRAM_DATA" или что-то в этом роде, и установщик знает, как это вставить C:\Documents и Настройки \ Все пользователи \ Данные приложения или C:\ProgramData в зависимости от того, используете ли вы XP или Vista.

Ходят слухи, что Office 2007 и Visual Studio 2008 использовали WiX для создания своего установщика, но я нигде не смог это проверить.Я действительно верю, что это разработано некоторыми сотрудниками Microsoft изнутри.

Другие советы

Я согласен с Джозефом, мой опыт работы с ClickOnce великолепен для подавляющего большинства проектов, особенно в корпоративной среде, где он упрощает сборку, публикацию и развертывание.Реализация "принудительного обновления" для обеспечения того, чтобы у пользователей была последняя версия при запуске, намного проще в ClickOnce, и это основная причина, по которой я его использую.

Проблемы с ClickOnce:В корпоративной среде возникают проблемы с прокси-серверами, и обходные пути далеки от идеальных.В таких случаях мне приходилось развертывать несколько приложений по UNC-путям...но вы не можете делать это постоянно.Его "песочница" великолепна до тех пор, пока вы не захотите найти исполняемый файл или создать ярлык на рабочем столе.

Еще не был развернут с 2008 года, поэтому не уверен, что эти проблемы все еще существуют.

Создание проекта установщика с зависимостью от вашего EXE-файла (который, в свою очередь, зависит от всего, что ему нужно) - довольно простой процесс, но для этого вам понадобится как минимум версия VS Standard Edition.

Внутри проекта установщика вы можете создавать пользовательские задачи и шаги диалогового окна, которые позволяют вам делать все, что вы запрограммируете.

Чего не хватает, так это волшебства автоматического обновления и проверки версий, которое вы получаете с помощью ClickOnce.Вы все еще можете встроить его, просто это не автоматически.

Я не верю, что существует какой-либо простой способ сделать проект установщика Windows таким же простым или обновляемым, как ClickOnce.Я использую ClickOnce для всех внутренних .СЕТЕВЫХ приложений, которые я разрабатываю (за исключением консольных приложений).Я нахожу, что в корпоративной среде простота развертывания перевешивает отсутствие гибкости.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top