Index: includes/install.core.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/install.core.inc,v
retrieving revision 1.20
diff -u -p -r1.20 install.core.inc
--- includes/install.core.inc	29 May 2010 08:02:58 -0000	1.20
+++ includes/install.core.inc	5 Jun 2010 17:29:07 -0000
@@ -328,6 +328,7 @@ function install_begin_request(&$install
  *   HTML output from the last completed task.
  */
 function install_run_tasks(&$install_state) {
+  drupal_check_cookie();
   do {
     // Obtain a list of tasks to perform. The list of tasks itself can be
     // dynamic (e.g., some might be defined by the installation profile,
Index: includes/install.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/install.inc,v
retrieving revision 1.135
diff -u -p -r1.135 install.inc
--- includes/install.inc	18 May 2010 18:11:13 -0000	1.135
+++ includes/install.inc	5 Jun 2010 17:29:07 -0000
@@ -971,6 +971,19 @@ function drupal_check_module($module) {
 }
 
 /**
+ * Check to see that the client installing this site has cookies enabled. 
+*/ 
+function drupal_check_cookie() {
+  setcookie('drupal_install_check', TRUE, time() + 31536000, '/');
+  if (!isset($_COOKIE['drupal_install_check'])) {
+    $domain = ini_get('session.cookie_domain') ? ltrim(ini_get('session.cookie_domain'), '.') : $_SERVER['HTTP_HOST'];
+    $message = t('It seems your browser does not accept cookies. To set up this site, you need to accept cookies from this domain %domain.', array('%domain' => $domain));
+    drupal_set_message($message, 'error');
+  }
+}
+
+
+/**
  * Retrieve info about an install profile from its .info file.
  *
  * The information stored in a profile .info file is similar to that stored in
