=== modified file 'install.php'
--- install.php	2009-12-07 06:19:20 +0000
+++ install.php	2009-12-11 03:19:28 +0000
@@ -249,12 +249,29 @@ function install_begin_request(&$install
   // Set up $language, so t() caller functions will still work.
   drupal_language_initialize();
 
+  // Add any installation parameters passed in via the URL.
+  $install_state['parameters'] += $_GET;
+
+  // Validate certain core settings that are used throughout the installation.
+  if (!empty($install_state['parameters']['profile'])) {
+    $install_state['parameters']['profile'] = preg_replace('/[^a-zA-Z_0-9]/', '', $install_state['parameters']['profile']);
+  }
+  if (!empty($install_state['parameters']['locale'])) {
+    $install_state['parameters']['locale'] = preg_replace('/[^a-zA-Z_0-9\-]/', '', $install_state['parameters']['locale']);
+  }
+
   include_once DRUPAL_ROOT . '/includes/entity.inc';
   $module_list['system']['filename'] = 'modules/system/system.module';
   $module_list['user']['filename'] = 'modules/user/user.module';
+  if (!empty($install_state['parameters']['profile'])) {
+    $module_list[$install_state['parameters']['profile']]['filename'] = 'profiles/' . $install_state['parameters']['profile'] . '/' . $install_state['parameters']['profile'] . '.profile';
+  }
   module_list(TRUE, FALSE, FALSE, $module_list);
   drupal_load('module', 'system');
   drupal_load('module', 'user');
+  if (!empty($install_state['parameters']['profile'])) {
+    drupal_load('module', $install_state['parameters']['profile']);
+  }
 
   // Load the cache infrastructure using a "fake" cache implementation that
   // does not attempt to write to the database. We need this during the initial
@@ -303,17 +320,6 @@ function install_begin_request(&$install
   // Modify the installation state as appropriate.
   $install_state['completed_task'] = $task;
   $install_state['database_tables_exist'] = !empty($task);
-
-  // Add any installation parameters passed in via the URL.
-  $install_state['parameters'] += $_GET;
-
-  // Validate certain core settings that are used throughout the installation.
-  if (!empty($install_state['parameters']['profile'])) {
-    $install_state['parameters']['profile'] = preg_replace('/[^a-zA-Z_0-9]/', '', $install_state['parameters']['profile']);
-  }
-  if (!empty($install_state['parameters']['locale'])) {
-    $install_state['parameters']['locale'] = preg_replace('/[^a-zA-Z_0-9\-]/', '', $install_state['parameters']['locale']);
-  }
 }
 
 /**
@@ -1674,13 +1680,6 @@ function _install_configure_form($form, 
     '#weight' => 15,
   );
 
-  // Allow the profile to alter this form. $form_state isn't available
-  // here, but to conform to the hook_form_alter() signature, we pass
-  // an empty array.
-  $hook_form_alter = $install_state['parameters']['profile'] . '_form_alter';
-  if (function_exists($hook_form_alter)) {
-    $hook_form_alter($form, array(), 'install_configure');
-  }
   return $form;
 }
 

=== modified file 'profiles/default/default.profile'
--- profiles/default/default.profile	2009-12-04 16:49:45 +0000
+++ profiles/default/default.profile	2009-12-11 03:20:54 +0000
@@ -8,7 +8,7 @@
  * called through custom invocation, so $form_state is not populated.
  */
 function default_form_alter(&$form, $form_state, $form_id) {
-  if ($form_id == 'install_configure') {
+  if ($form_id == 'install_configure_form') {
     // Set default for site name field.
     $form['site_information']['site_name']['#default_value'] = $_SERVER['SERVER_NAME'];
   }

