There are several Drupal projects that can be used to help you create an installation profile.
Drush make (included as part of the drush project since Drush 5) is a command-line packaging tool specifically designed for Drupal. It natively supports downloading, unpacking, and installing Drupal modules and themes via a simple configuration file (the 'make' file), and a single command. Drush make is the tool used by the Drupal.org packaging system to create packaged distributions, and is a very useful tool to have in your local development environment for generating, formatting, and verifying
.make files you'll eventually commit to your profile.
For more information about using
drush make see Packaging a distribution on Drupal.org.
The Features module is increasingly the core of install profiles, providing tools for creating diverse types of configuration, from content types and fields to views and user permissions.
The Apps module includes install-time integration to enabling users to select which apps to download and enable. Apps can be used to combine components from multiple distributions.
The Subprofiles module can be used to provide different "flavors" of your install profile, consisting of different sets of features.
The Profiler module provides a number of tools for building profiles and also allows you to have 'Sub' Install Profiles, where one Install Profile inherits from and extends another Install Profile. Profiler Builder is a small module to create profiler profiles.
The Feature set module allows site builders and install profile maintainers to expose a simplified administration page that allows users to enable and disable complete sets of functionality without having to expose the features admin page or the modules administration page to end users.
Install Profile API
If you're writing a profile for Drupal 5 or 6, you can make use of the Install Profile API, which provides a set of helper functions that make it easier to create, update, or delete elements from Drupal's data structures. You will still have to be familiar with PHP as this is not an "end user" module.
Drupal 5 and 6 users can get a jump-start on an installation profile by using the Profile Generator module to create a profile for an existing site.
See Groups.Drupal.org/Distributions for ongoing discussion about installation profiles.