We ship a signed, notarized product archive (.pkg) built with pkgbuild + productbuild and a custom InstallerPlugins pane (ChoosePlugin.bundle).
The payload must always install to the system volume (/). There is no supported alternate directory. customize="never" is set because there is a single component package; the user must not pick packages either.
What we already do
In Distribution.xml:
<options customize="never" require-scripts="true" rootVolumeOnly="true" hostArchitectures="arm64,x86_64"/> <domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true"/> In InstallerSections.plist (SectionOrder):
Introduction ChoosePlugin.bundle Target Install PackageSelection is omitted. customize="never" is set.
Observed behavior (current macOS)
Destination Select (Target)
If Target is kept in SectionOrder, the pane still appears in the wizard (often with a read-only / single-volume UI). That step is unused product-wise: the user cannot choose another location. If Target is removed from SectionOrder, Installer.app hangs on the Installation pane at “Preparing for installation…” (pagecontroller / no selected volume). So Target cannot be dropped if we still use the GUI Installer. Installation Type (PackageSelection)
The pane does not run (correct). The sidebar still lists “Installation Type” (and often “Summary”) as grayed items. There is no documented way to hide those labels. There is no public InstallerPlugins API to auto-advance the native Destination Select pane (gotoNextPane only applies to our custom section).
Question
Is there a supported way (Distribution XML, InstallerSections.plist, productbuild, or otherwise) to:
Not show Destination Select at all in Installer.app, while still installing to / and not hanging on Installation; and Not list Installation Type (and unused Summary) in the left-hand wizard list, when customize="never" and PackageSelection is omitted? If this is not supported, please confirm that:
Destination Select must remain in SectionOrder for GUI installs even with rootVolumeOnly + domains limited to localSystem; and sidebar entries for unused built-in sections cannot be removed. Environment
Product archive via productbuild --distribution --plugins macOS 13+ (tested on current macOS / Apple silicon) Custom plugin is universal (arm64 + x86_64) Silent / MDM path (installer -pkg … -target /) is acceptable for automation; this request is GUI Installer.app only.