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

Необходимо изучить Распыление "кучи":

http://en.wikipedia.org/wiki/Heap_spraying

18
задан Community 23 May 2017 в 11:51
поделиться

8 ответов

Для Windows рассмотрите XML установщика Windows (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, вам нужно будет настроить свою сборку для этого, а также протестировать обе версии.
  • Make убедитесь, что ваш код на C # не использует специальные вызовы Windows / .NET, запустив Mono Migration Analyzer (MoMA) в своей кодовой базе.

Обновление:

Вы не упомянули, как вы планируете предлагать обновления. NSIS и WiX могут выполнять обновления. Перед развертыванием начальной версии убедитесь, что у вас отработана схема управления версиями сборки. В OSX Monobjc может интегрироваться с Sparkle .

13
ответ дан 30 November 2019 в 08:15
поделиться

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

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

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

2
ответ дан 30 November 2019 в 08:15
поделиться

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

6
ответ дан 30 November 2019 в 08:15
поделиться

Для создания установщика существует:

  1. NSIS - Бесплатно
  2. InstallShield - Платно

Не знаю, как узнать о компьютерах Mac

Проблемы: На компьютере нет. Net Framework

Решение: StackOverflow - Состояние компоновщиков для приложений .NET

2
ответ дан 30 November 2019 в 08:15
поделиться

http://www.openlina.com/

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

3
ответ дан 30 November 2019 в 08:15
поделиться

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

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

2
ответ дан 30 November 2019 в 08:15
поделиться

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

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

0
ответ дан 30 November 2019 в 08:15
поделиться

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

0
ответ дан 30 November 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: