Каков наилучший способ развертывания приложения VB.NET? - PullRequest
8 голосов
/ 06 августа 2008

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

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

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

Плюсы к ClickOnce:

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

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

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

Ответы [ 5 ]

6 голосов
/ 06 августа 2008

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

http://wix.sourceforge.net/

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

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

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

2 голосов
/ 22 августа 2008

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

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

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

1 голос
/ 06 августа 2008

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

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

1 голос
/ 06 августа 2008

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

1 голос
/ 06 августа 2008

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

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

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

...