Создайте установщик для .NET-приложения, которое может работать в Windows и OS X?
Я удивлен, что не мог найти этот вопрос, который уже задан, поэтому, если я просто пропустил его, пожалуйста, сообщите нам об этом быстро.
Мне нужно написать очень маленькое, довольно простое приложение в .NET, которое будет загружено конечными пользователями и установлено в их системе. Silverbox sandbox модель не будет работать - она должна быть полностью загружена, установленный исполняемый файл.
Вот что я знаю:
- Я разработал приложения, которые работают в управляемой среде рабочего стола - например, ИТ-приложение, работающее на сотне внутренних компьютеров.
- Я разработал приложения с помощью Mono
Что я не знаю:
- Как создать гибкий, надежный установщик, который будет работать на множестве неконтролируемых конфигураций и сред рабочего стола.
- Как сделать то же самое с Mono, предназначенным для Mac OSX.
- Каковы распространенные проблемы при установке широко распространенного приложения конечного пользователя и способы его устранения?
Я ищу лучшие ресурсы, чтобы заполнить пробелы в знаниях.
Связанные
Эквивалент службы Windows в OSX с Mono
Ответы
Ответ 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
Ответ 6
Для создания установщика есть:
Я не знаю, как узнать о Macs
Проблемы: у компьютера нет .Net Framework
fooobar.com/questions/78900/...
Ответ 7
Вы хотите InstallAnywhere. Он позволяет настроить таргетинг на несколько платформ с помощью одного проекта установщика. Это поможет с зависимостями и конкретными проблемами платформы.
Я использовал его при развертывании LINUX/BSD/Windows, и он работал красиво. Если у вас есть X-окна, у вас есть графический интерфейс, если не для командной строки. Установщик Windows работал со стандартным инсталлятором Windows и выглядел профессиональным установщиком. Он поддерживает Mac OS X. Я настоятельно рекомендую это программное обеспечение, оно делает именно то, что вы хотите.
Ответ 8
Как упоминалось в других плакатах, BitRock InstallBuilder поддерживает ваши целевые платформы Windows, Linux и Mac. Я хочу добавить, что он был использован самим проектом Mono некоторое время для распространения двоичного установщика "все-в-одном" для среды исполнения Mono. Он также используется другими успешными независимыми разработчиками на основе Mono, такими как Codice Software