If you are by no mean a Mac user, this article is a good starting point to look deeper into the packaging of Mac-based apps and see the difference between Windows and macOS.
Each of us is a user of a specific operating system and software relevant to this system. Nowadays, IT specialists can easily find themselves in the situation when they need to obtain knowledge about the OS they use and others. Following the principles of flexibility, companies’ requests rise in parallel with working volumes, software, and applications.
macOS became one of the most used operating systems globally with its pros and cons and rich functionality. However, what also contributes to its success significantly is a security aspect that motivates IT specialists to use, package and distribute Mac-based software intensively.
What are application packaging and re-packaging for Mac?
macOS application (re)packaging is processing an app’s file directory that contains commands, scripts, and other software components that define its state and the way it runs. A package with a standardized structure for storing executable code and its associated resources is called a bundle.
If you need to distribute an app that isn’t in the AppStore or isn’t signed by Apple, you need to repackage and sign it.
What application packages formats for macOS exist?
Let’s start with general definitions. The most common Mac package formats are:
- Apple Disk Image (.dmg) – a digital reconstruction of a physical disc, could contain any of the following packages inside.
- Meta Package File (.mpkg) – package meta file usually classified as a compressed file; this package meta file is integrated with compression specifications proprietary to Apple.
- Mac OS X Installer Package (.pkg) – most common format – contains payload (folder structure) installation scripts and recourses
- Mac OS X Application (.app) – technically a folder that should be placed to the /Applications folder
For most configuration managers, the package should be in PKG format. If you want to deploy the package to the deployment system, pay attention to the “overlay” that must be added to your existing PKG format.
For Microsoft Config Manager, aka SCCM, any of the listed formats should be converted into .cmmac format, for Microsoft Endpoint Manager, aka Intune – .Intunemac format.
macOS & Windows packaging comparison
From a technical perspective, the process of (re)packaging Windows and macOS apps isn’t immensely different. Still, it’s not similar at the same time since other OSs require different approaches and knowledge.
While packaging macOS apps, always remember what is mandatory:
- The only allowed device for performing packaging or testing actions is a Mac.
- To distribute a packaged app to the deployment system, it needs to be in .pkg format only.
- The .pkg file needs to be signed with a valid “Developer ID Installer” certificate and notarized before deployment. The package notarization is important for a smooth and fail-free deployment.
- Like Windows-based apps, .pkg files also need to be pre-processed (wrapped) before you can upload them to the deployment system.
- The conversion of non-pkg formats to deployable formats (.intunemac or .cmmac) is supported.
While packaging macOS apps, always remember Mac-based apps (e.g., PKG) are not Windows-based apps (e.g., MSI):
- Shortcuts. If MSI shortcuts can be executed anywhere, Mac allows you to use a separate shortcut panel in the bottom or Finder.
- Custom Action. As a Windows dedicated user, if you get used to using Cutom Actions, be ready to write scripts for defining the common (un)installation scenario and behavior of your Mac apps.
- Testing VMs. If you are a Windows-based user and need to test your packaged app on Mac, you can use third-party tools to open Mac VMs on your Windows computer and vice versa.
How to show app and package content on Mac?
The app content may contain code signature, frameworks, plugins, recourses, etc. Mac users can easily reach the content without millions of pop-up windows and code manipulations. For this purpose, use Finder installed on your laptop by default, find an app and use the control-click combination. The option Show Package Content will be displayed in the menu.
The vast of actions that are relevant for Mac packaging formats can be performed through scripting, including viewing the package content. If you need to extract Mac format, use the Terminal command to view the directory content you need. The Terminal can be found through this path /Applications/Utilities/
How to order an installer package for Mac?
Ordering installer packages without the need to perform software packaging by yourself – is an easy way to save your time, money, and effort.
Apptimized Factory is a software packaging service that allows you to get ready-to-deploy application packages compatible with your macOS. You can request a package through the Apptimized Platform, choose the priority you need, and leave a reference for a packaging specialist if you have those.
- Minimum input. The only action required from you is to send a request for packaging or testing actions.
- Most common macOS formats. Apptimized Factory supports DMG, PKG, MPKG, and APP packaging formats.
- High quality. Depending on your request, Apptimized packaging professionals will prepare your apps according to your guidelines and industry’s best practices.