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

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

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

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

Плюсы для ClickOnce:

  • Оно работает. Волшебно. И это встроено в VisualStudio 2008 Express.
  • Упрощает обновление приложения.

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

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

6.08.2008 15:25:51
5 ОТВЕТОВ
РЕШЕНИЕ

Вы уже видели WiX?

http://wix.sourceforge.net/

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

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

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

6
6.08.2008 15:38:52
Звучит интересно. Придется проверить это.
Kevin Fairchild 25.09.2008 15:04:44

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

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

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

1
6.08.2008 15:33:21

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

1
6.08.2008 15:37:43

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

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

1
6.08.2008 15:46:41

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

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

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

2
22.08.2008 13:39:46