Сценарии для развертывания .NET - PullRequest
0 голосов
/ 30 декабря 2008

Я изучаю различные варианты развертывания пакета приложений .NET. Развертывание - это больше, чем просто копирование файлов, нам нужно остановить / запустить службы, вызвать файл EXE, который выполняет сценарии базы данных, инициировать несколько setup.exe установок и т. Д.

Эти сценарии будут переданы третьей стороне, которая будет применять различные обновления приложений к серверам наших клиентов.

Два лучших варианта выглядят как CS-Script и PowerShell , но я позволю голосованию принять решение.

ОБНОВЛЕНИЕ: На основании полученных ответов я чувствую, что должен уточнить. Во-первых, люди, применяющие обновления, будут типами системного администратора; не конечные пользователи. Так что в этом случае полноценный установщик WiX , Wise и т. Д., Вероятно, излишним.

Во-вторых, можно с уверенностью предположить, что на этих машинах будет установлен .NET 2.0 и даже PowerShell (или CS-Script, или любой другой). Мы создаем образы, чтобы мы могли указать, что будет установлено. Проблема в том, что как только мы определимся с образом, вне обновлений приложения мы будем писать сценарии, очень трудно будет установить «новые» приложения.

Ответы [ 6 ]

3 голосов
/ 30 декабря 2008

Я рекомендую WiX для создания установщиков. Он обладает всеми возможностями, необходимыми для хорошей работы, и бесплатен, поддерживается Microsoft, декларативен и расширяем. Он также хорошо интегрируется в VisualStudio и MSBuild-Process.

2 голосов
/ 25 июля 2010

Сравнивая CS-Script и PowerShell, вот некоторые преимущества CS-Script перед PowerShell:

  • CS-Script легче и проще в развертывании. http://www.csscript.net/help/Deployment.html говорит: «распространять исполняемый файл механизма сценариев (cscs.exe / csws.exe) вместе с самим сценарием».
  • C # - широко распространенный язык с легкодоступным отладчиком. PowerShell - это еще один язык для изучения.
  • C # может быть дополнительно скомпилирован
0 голосов
/ 16 июня 2009

Мы выбрали разные подходы. В конце концов, у нас хорошо получается:

  • Нормальные исполняемые файлы с хорошей обработкой командной строки.
  • Библиотеки, подвергающиеся скриптингу (F #, IronPython, CS-Script) для операций.
  • msbuild (вызов exexcutables, иногда пользовательских задач, иногда скриптов)

Спекулятивный: рассмотрите возможность использования MS Deploy (на RC1). Это делает большую часть того, что вам нужно сделать. Я оцениваю сейчас.

Что работает плохо: наличие сборной платы из вышеупомянутых + пакетных файлов. Со временем все будет стремиться переместиться в исполняемые файлы и библиотеки установки, поскольку это технология, которая может обрабатывать все задачи и масштабирование. Обязательные шаги пользовательского интерфейса являются злыми и требуют ручной установки.

CS-Script и Powershell имеют недостатки. CS-Script - неуклюжие сборки ссылочных схем. Powershell: мало кто может смотреть на это. Сделайте проверку концепции в каждом из них, прежде чем приступить к этим - возможно, они вам понравятся больше, чем я. Мой опыт для них невелик - после проверки концепции я перешел на IronPython.

0 голосов
/ 30 декабря 2008

Звучит так, будто вы хотите сделать упаковочный пакет для установки и настройки ряда других вещей ...

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

Ссылка для NSIS: http://nsis.sourceforge.net/Main_Page

0 голосов
/ 30 декабря 2008

Недостатком использования PowerShell в качестве среды сценариев для развертывания является то, что вы должны убедиться, что на целевых компьютерах установлены .NET Framework 2.0 и PowerShell. Для этого вам понадобится сценарий, и, следовательно, вы вернетесь к исходному вопросу без PowerShell.

Мне нравится PowerShell как среда сценариев. Он прост в использовании, гибок и может легко справляться со сценариями развертывания. Кроме того, поскольку он работает в .NET и вы развертываете .NET, у внутренних сотрудников меньше затрат на просмотр и отладку сценария.

Лично я хотел бы использовать загрузочный скрипт, который обеспечивает установку PowerShell, а затем использовать PowerShell в качестве фактического сценария развертывания.

0 голосов
/ 30 декабря 2008

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

Если будут вовлечены конечные пользователи и они не будут являться системными администраторами, я бы предложил использовать полный установщик. Таким образом, они графически рассказывают, что делается. Если это для системных администраторов или только для вашего собственного использования, то любой язык сценариев позволяет вам сделать это первым, даже если это VBS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...