Creating SytemStarter Startup Item Bundles HOWTO

Kevin Van Vechten

Revision History
Revision 27 May 2002kvv - [email protected]
Document partial-startup and inter-process communication.
Revision 115 June 2001kvv - [email protected]


Startup items are directory bundles consisting of at least two parts, an executable file and a property list file (StartupParameters.plist). The property list file describes the startup item. Each item provides at least one named service, and may specify any dependencies on services provided by other items. SystemStarter will start items in an order honoring the listed dependencies.

Note that some aspects of SystemStarter such as partial-startup and inter-process communication are not available in Darwin 5.4 or earlier.

Table of Contents

Search Paths for Startup Item Bundles
The Executable
The Property List
Description attribute
Provides attribute
Requires and Uses attributes
OrderPreference attribute
Messages attribute
Sending feedback to SystemStarter with ConsoleMessage
Displaying Messages with ConsoleMessage
Returning Status with ConsoleMessage
Execution Order of Startup Item Bundles
How SystemStarter Handles Duplicate Services
Localizing Startup Item Bundles

Search Paths for Startup Item Bundles

Startup item bundles may be placed in a StartupItems directory in each of the primary file domains (as defined in NSSystemDirectories.h). SystemStarter searches for bundles in the order of /Library/StartupItems, /Network/Library/StartupItems, and /System/Library/StartupItems. The order objects are discovered does not affect the order they are executed, except in the case of conflicting Provides attributes; in this case, the first item discovered will run and subsequent conflicting items will not. (The Provides attribute is described in the Provides attribute section.)


This directory contains user-installed startup items.


This directory contains startup items available over the network.

Since the Network mounts are not yet established at the beginning of system startup, the StartupItems directory in /Network/Library is not searched. (A future version of SystemStarter may search this directory for items once it becomes available.)


This directory contains system-installed startup items.