C # .Net - развертывание "очень" пользовательского приложения - PullRequest
0 голосов
/ 09 февраля 2010

Мы работаем над развертыванием очень пользовательского приложения.

Приложение - это основная программа (и единственная программа), которая будет работать на ПК, но это зависит от нескольких сторонних установщиков, которые должны быть установлены с помощью отдельных программ установки. Некоторые из них являются стандартными MSI, установкой экрана, другими устаревшими настройками и т. Д.

Кроме того, мы должны развернуть SQL Server Express 2005, установить IIS, если он не найден, и настроить веб-сайт.

Наш конечный пользователь, развернувший это, будет человеком с техническим опытом на новом «готовом» ПК с XP SP3.

Что является хорошим вариантом для разработки этого? WiX? Проекты установки Visual Studio могут не обрезать его. Существует также проблема запуска других MSI, когда MSI уже работает.

Будет ли он работать лучше, чем стандартное приложение C #, для которого требуется предварительно установить .Net? Затем он просто запросит несколько вариантов, а затем запустит несколько инсталляторов.

Есть мысли? Мы бы предпочли придерживаться C # .Net.

Ответы [ 4 ]

3 голосов
/ 09 февраля 2010

В XP SP3 уже не установлена ​​среда выполнения .NET?

Если ваш конечный пользователь имеет опыт работы с техникой, то разумно пожертвовать частью «волшебства» пакета MSI для гибкости чего-то более сырого, такого как сценарий Ruby, сценарий Powershell или .NET консоль или приложение Winforms.

1 голос
/ 09 февраля 2010

WIX - это довольно гибкий способ создания установщика (хотя обучение может быть весьма незначительным, поскольку документация по-прежнему отсутствует). Это, вероятно, будет лучшим выбором для установки компонентов, которые на самом деле являются артефактами вашего продукта. Пусть он проверит, что необходимые компоненты установлены, но я бы не стал запускать с него установщики. Вместо этого, как и упомянул Сет , напишите сценарий Powershell / VBScript (или консольное приложение), который будет выполнять проверку компонента и запускать старые установщики для пользователя в необходимом порядке. Конечно, вам потребуется способ записи, когда программа установки завершит работу, прежде чем продолжить (не знаю, действительно ли VBScript обладает такой возможностью, поэтому приложение Powershell / Console может быть разумным выбором). И последним установщиком будет ваш продукт. Таким образом, если требуется перезагрузка, установщик можно запустить точно так же, и он будет просто проверять необходимые компоненты и запускать установщики по мере необходимости.

1 голос
/ 09 февраля 2010

Существует установочный продукт под названием Inno Setup , который может удовлетворить ваши потребности. Он позволяет создавать собственные сценарии, чтобы вы могли определить, установлены ли все зависимости.

Если некоторые из них не установлены, то с помощью некоторых сценариев установщик может загрузить и установить сторонние зависимости перед установкой приложения. Некоторая помощь в этом может быть найдена в статье Code Project. (http://www.codeproject.com/KB/install/dotnetfx_innosetup_instal.aspx)

Единственная проблема с этим маршрутом - язык сценариев на паскале.

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

1 голос
/ 09 февраля 2010

Это сводится к выгоде против стоимости.

Если это нужно запустить только на одном или небольшом количестве целевых ПК, и у вас есть возможность поддерживать установку (даже удаленно), я бы рекомендовал перейти к ручной установке для любых сторонних зависимостей.

Будет гораздо проще предоставить установщику каждого пакета письменные инструкции и предоставить, чем написать / протестировать / отладить (и, вероятно, все еще поддерживать) сложный, полностью автоматизированный установщик, который будет использоваться только один или три раза.

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

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