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