Как уже отмечали другие, вы действительно принимаете сложное решение этой проблемы, и ваши пользователи будут проклинать ваше имя за это, если у вас нет действительно веской причины для этого. Это правда, что для определенных типов приложений потребуются установщики для Mac OSX. Они обычно включают в себя:
- Приложения, устанавливающие собственные драйверы (например, расширения ядра)
- Приложения, которым необходимо установить интегрированные среды или другие ресурсы, которые по какой-либо причине не могут быть упакованы в комплект приложений
- Приложения, которые должны запускаться как системная служба и, следовательно, должны запускать некоторые сценарии после установки для запуска приложения во время загрузки
- Плохо написанные программы, которые требуют внесения каких-либо изменений в систему пользователя (например, установки разрешений для папки или чего-то еще), а руки разработчика привязаны к маркетингу, чтобы распространять приложение наиболее болезненным способом
Хорошо, последний пункт немного саркастичен, но вы меня поняли? :) По сути, если вы пишете обычное приложение для конечного пользователя, вы должны распространять его обычным способом, который ожидают пользователи Mac, - это файл DMG, содержащий пакет вашего приложения. Или, если вы хотите быть по-настоящему модным, добавьте псевдоним в папку «Applications» внутри DMG, чтобы помочь пользователю перетащить туда программу. Если вы не пишете что-то, что должно само установить в систему, вместо того, чтобы просто запускаться системой, здесь нет причин использовать установщик. Кроме того, имейте в виду, что это OSX, который уже содержит полнофункциональную Java JRE, поэтому вам не нужно беспокоиться об упаковке JRE в установщик или что-то в этом роде.
Теперь, когда вас правильно отчитали за то, что вы задали этот вопрос, я отвечу на него, предположив, что ваше программное обеспечение относится к одной из указанных выше категорий. На самом деле, вам лучше всего пойти с коммерческим решением, таким как установщик VISE (который, опять же, я могу с уверенностью заявить, что подавляющее большинство пользователей Mac будут в ужасе отшатываться при установке продукта, созданного с помощью этого инструмента), который позволяет вам чтобы сделать именно то, что вы ищете здесь - в основном, создать кроссплатформенный установщик, который собирает для различных платформ, которые вы хотите поддерживать, из одного файла установщика.
Опять же, вам лучше всего делать то, что пользователям этой платформы наиболее удобно (именно поэтому все ответы на ваш вопрос призывают вас не устанавливать инсталлятор). Это означает, однако, что если вам действительно нужно сделать установщик, вы должны использовать non -кроссплатформенную платформу; Пользователи Windows будут чувствовать себя как дома, когда им предоставляется стандартный установщик MSI, а пользователи Mac будут чувствовать себя как дома с программой установки Apple. Программа PackageMaker общеизвестно ограничена, поэтому, если вам нужно, вы должны использовать iceberg . Это будет означать немного больше обслуживания для вас, так как вам нужно будет ухаживать за двумя (или более) отдельными установщиками, но если ваше программное обеспечение действительно настолько сложное, что требует этого, вы должны быть готовы пожертвовать ради комфорта ваших пользователей.