Как уже отмечалось, вы действительно принимаете трудное решение этой проблемы, и ваши пользователи будут проклинать ваше имя за это, если у вас нет действительно повод для этого. Верно, что для некоторых типов приложений потребуются установщики для Mac OSX. Они, как правило, включают:
- приложений устанавливающих специальные драйвера (например, расширение ядра)
- Приложения, которые необходимо установить рамки или другие ресурсы, которые по каким-то причинам не могут быть упакованы в связке приложений
- Приложения, необходимо запустить как системный сервис и, следовательно, запустить некоторые сценарии после установки для запуска приложения во время загрузки
- Плохо написанные программы, требующие внесения некоторых изменений в систему пользователя (т. е. установка разрешений в папке или что-то еще) , а руки разработчика привязаны отделом маркетинга w чтобы распределить приложение самым болезненным способом
Хорошо, так что последняя точка немного саркастична, но вы получаете мой дрейф здесь?:) В принципе, если вы пишете нормальное приложение для конечного пользователя, вы должны распространять его обычным способом, который ожидают пользователи Mac, который является файлом DMG, содержащим комплект приложения. Или, если вы хотите по-настоящему представить себя, вставьте псевдоним в папку «Приложения» внутри DMG, чтобы помочь пользователю перетащить туда программу. Если вы не пишете что-то, что должно установить в, то система, а не просто будет работать от системы, здесь нет причин использовать установщик. Кроме того, имейте в виду, что это OSX, который уже содержит полностью функционирующую Java JRE, поэтому вам не нужно беспокоиться о том, чтобы упаковать JRE в установщик или что-то в этом роде.
Теперь, когда вас правильно ругали за задание этого вопроса, я отвечу на него с предположением, что ваше программное обеспечение попадает в одну из категорий выше. На самом деле, лучше всего пойти с коммерческим решением, таким как установщик VISE (что опять же я могу с уверенностью сказать, что подавляющее большинство пользователей Mac в ужасе отвращается при установке продукта, созданного с помощью этого инструмента), что позволяет вам делать именно то, что вы ищете здесь - в основном, сделать кросс-платформенный установщик, который строит для различных платформ, которые вы хотите поддерживать из одного файла установщика.
Опять же, лучше всего сделать то, что пользователи этой платформы наиболее удобны (вот почему все ответы на ваш вопрос побуждают вас не делать установщик). Это означает, однако, что если вы действительно должны сделать установщик, вы должны использовать не -cross-platform framework; пользователи Windows будут чувствовать себя как дома, когда будут представлены стандартным установщиком MSI, а пользователи Mac будут чувствовать себя как дома с помощью Apple Installer pkg. Программа PackageMaker, как известно, ограничена, поэтому, если вам нужно, вместо этого вы должны использовать iceberg. Это будет означать для вас немного больше обслуживания, так как вам нужно будет после двух (или более) отдельных инсталляторов, но если ваше программное обеспечение действительно настолько сложно, как требовать этого, вы должны быть готовы сделать жертву для комфорта ваших пользователей.
Вы * сделаете * знаете, что пользователи Mac могут просто дважды щелкнуть файл .jar, чтобы запустить его, не так ли? :-) – 2008-11-14 22:39:24
См. Мой ответ в этом вопросе: http: // stackoverflow.com/questions/2323818/packagemaker-for-creation-mac-packages-on-windows-linux/8016507, который является дубликатом этого. – jcoffland 2011-11-04 22:43:23