Подтвердить что ты не робот

Создайте установщик для .NET-приложения, которое может работать в Windows и OS X?

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

Мне нужно написать очень маленькое, довольно простое приложение в .NET, которое будет загружено конечными пользователями и установлено в их системе. Silverbox sandbox модель не будет работать - она ​​должна быть полностью загружена, установленный исполняемый файл.

Вот что я знаю:

  • Я разработал приложения, которые работают в управляемой среде рабочего стола - например, ИТ-приложение, работающее на сотне внутренних компьютеров.
  • Я разработал приложения с помощью Mono

Что я не знаю:

  • Как создать гибкий, надежный установщик, который будет работать на множестве неконтролируемых конфигураций и сред рабочего стола.
  • Как сделать то же самое с Mono, предназначенным для Mac OSX.
  • Каковы распространенные проблемы при установке широко распространенного приложения конечного пользователя и способы его устранения?

Я ищу лучшие ресурсы, чтобы заполнить пробелы в знаниях.

Связанные

Эквивалент службы Windows в OSX с Mono

4b9b3361

Ответ 1

Для Windows рассмотрите Windows Installer XML (WiX). Для OSX вам нужно сгенерировать пакет .app. Вот пример, используя nant-задачи, включенные в Monobjc.

Вот некоторые из основных проблем, с которыми вам придется столкнуться:

В Windows:

  • Ваш установщик должен будет обнаружить предыдущие/старые версии и закрыть/удалить/мигрировать как подходящее. Оба NSIS и WiX имеют механизмы для этого.
  • Ваш установщик/приложение должно быть совместим с различными версиями Windows (XP, Vista, 7) и разные версии .NET(2.0, 3.0, 3.5) в итоге). Фактически тестирование этого одна из наиболее утомительных задач лицо. Я настоятельно рекомендую горстка чистой виртуальной машины изображения вокруг этого.

В OSX:

  • Скорее всего, вы захотите отправить автономный пакет приложений, то есть моно будет в комплекте с вашим .app. Это добавит ~ 50 мб к вашему дистрибутиву.
  • Вам нужно будет ссылаться на разные версии Monobjc для поддержки OSX 10.4 и 10.5, вам нужно будет настроить свою сборку для этого, а также проверить обе версии.
  • Убедитесь, что ваш код С# не использует специальные вызовы Windows/.NET, запустив Sparkle.

Ответ 2

Существует bitrock, который обрабатывает ваши целевые платформы, но стоит денег

Ответ 3

http://www.openlina.com/

Они доставляют на сборку один раз, обещают обедать.

Ответ 4

Вы можете попробовать BitRock InstallBuilder. На своем веб-сайте:

BitRock InstallBuilder - это инструмент разработки для строительства кроссплатформенные установщики для настольных компьютеров и серверное программное обеспечение. С InstallBuilder, вы можете быстро создать профессиональные установщики для Linux, Windows, Mac OS X, Solaris и другие платформы из одного файла проекта и создать среду.

Ответ 5

Это может быть или не быть ответом, который вы ищете. Если ваше приложение может выжить в окне Silverlight, вы можете изучить Silverlight 3.0.

Silverlight 3 позволяет вашему приложению работать за пределами браузера в Windows и Mac.

Вот пример его настройки: http://www.silverlightshow.net/items/Silverlight-3-as-a-Desktop-Application-Out-of-Browser-Applications.aspx

Ответ 7

Вы хотите InstallAnywhere. Он позволяет настроить таргетинг на несколько платформ с помощью одного проекта установщика. Это поможет с зависимостями и конкретными проблемами платформы.

Я использовал его при развертывании LINUX/BSD/Windows, и он работал красиво. Если у вас есть X-окна, у вас есть графический интерфейс, если не для командной строки. Установщик Windows работал со стандартным инсталлятором Windows и выглядел профессиональным установщиком. Он поддерживает Mac OS X. Я настоятельно рекомендую это программное обеспечение, оно делает именно то, что вы хотите.

Ответ 8

Как упоминалось в других плакатах, BitRock InstallBuilder поддерживает ваши целевые платформы Windows, Linux и Mac. Я хочу добавить, что он был использован самим проектом Mono некоторое время для распространения двоичного установщика "все-в-одном" для среды исполнения Mono. Он также используется другими успешными независимыми разработчиками на основе Mono, такими как Codice Software