Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
ReadMe.txt
1. What is an Installer Plugin? |
An Installer Plugin extends the user experience of the Installation process by allowing developers to insert additional custom steps in the installation process |
of their software packages. In the sample code provided here, a registration pane is built that asks users for registration information before installing. |
2. Using the Sample Installer Plugins |
(1) Take a pre-existing package (or create a new one with PackageMaker.) The sample package "InstallerPluginsTestPackage.pkg" is provided for your test use. |
(2) Create a "Plugins" directory in that Package bundle: InstallerPluginsTestPackage.pkg/Contents/Plugins |
(3) Build the SamplePlugins project |
(4) Copy the bundle created by the SamplePlugins project into the Plugins directory of your package. |
(5) Copy the "InstallerSections.plist" file (it can be found in the same directory as this ReadMe file) into the Plugins directory of your package. The "InstallerSections.plist" defines the order that the Installer section pane will be presented to the user, and where the Registration pane will appear (following the "License" pane.) |
(6) Open the package -- it will run with the additional custom Registration plugin. |
3. Creating Your Own Custom Installer Plugin |
3A. Getting Started |
- Use the provided plugin as your starting point for development. |
- Custom Installer Plugins must be written in Objective-C Cocoa. They may not be written in Carbon or Java. |
- Review the InstallerPlugins.framework APIs. These can be found at /System/Library/Frameworks/InstallerPlugins.framework/Headers/. |
- Copy and update the provided InstallerSections.plist file to include your plugin(s), and place them in the appropriate location in the Install sequence. |
- Contact the Mac OS X Installation Technology Engineering team with questions by subscribing to the installer-dev mailing list (email contact information |
is provided in the 'Notes' section.) |
3B. Code Flow in the Plugin |
- The plugin's entry point to is the "- (void)didEnterPane:(InstallerSectionDirection)dir" method. |
- When the user clicks the "Continue" button, the "- (BOOL)shouldExitPane:(InstallerSectionDirection)dir" method is called. Returning "NO" from this method |
prevents the user from leaving your plugin page. |
4. Notes |
Plugins are only supported in Mac OS X Tiger (v10.4) and later. |
This project was built using Xcode 2.2.1. Xcode 2.3 will also open the project file. The Xcode Tools v2.3 can be downloaded from the Apple Developer |
Connection site <http://developer.apple.com>, once you have logged in. |
Contact: Subscribe to the installer-dev mailing list at the Apple Mailing Lists web page <http://lists.apple.com/mailman/listinfo>. |
Select the "Installer-dev" list item and follow the steps on "Subscribing to Installer-dev". |
Documentation: http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html |
[Document revision 1.0.2 Last revised 13 June, 2006] |
Copyright © 2006 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2006-08-30