Как лучше всего развернуть приложение VB.NET?

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

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

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

Плюсы ClickOnce:

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

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

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


person Grant    schedule 06.08.2008    source источник


Ответы (5)


Вы еще не видели WiX?

http://wix.sourceforge.net/

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

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

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

person Dillie-O    schedule 06.08.2008
comment
Звучит интересно. Придется это проверить. - person Kevin Fairchild; 25.09.2008

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

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

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

person Robbo    schedule 22.08.2008

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

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

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

person Greg Hurlman    schedule 06.08.2008

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

person Joseph Sturtevant    schedule 06.08.2008

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

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

person Pat    schedule 06.08.2008