Index: design/standard/templates/setup/tests/ezcversion_error.tpl
===================================================================
--- design/standard/templates/setup/tests/ezcversion_error.tpl	(revision 0)
+++ design/standard/templates/setup/tests/ezcversion_error.tpl	(revision 0)
@@ -0,0 +1,17 @@
+{* DO NOT EDIT THIS FILE! Use an override template instead. *}
+{def $required_version = $test_result[2].needed_version
+     $class_exists = $test_result[2].class_exists}
+
+{if  $class_exists}
+  <h3>{"Wrong eZ Components version detected"|i18n("design/standard/setup/tests")}</h3>
+{else}
+  <h3>{"Missing eZ Components dependancy"|i18n("design/standard/setup/tests")}</h3>
+{/if}
+  <p>
+  {"The minimum required eZ Components version is"|i18n("design/standard/setup/tests")} {$required_version}.
+  <p>
+   {"Download instructions for both regular download and PEAR are provided at"|i18n("design/standard/setup/tests")}
+   <a target="_other" href="http://ezcomponents.org/docs/install#id1">http://ezcomponents.org/docs/install</a>.
+  </p>
+
+{undef $required_version}
Index: kernel/setup/ezsetuptests.php
===================================================================
--- kernel/setup/ezsetuptests.php	(revision 23259)
+++ kernel/setup/ezsetuptests.php	(working copy)
@@ -60,7 +60,8 @@
                   'execution_time' => array( 'eZSetupTestExecutionTime' ),
                   'allow_url_fopen' => array( 'eZSetupTestAllowURLFOpen' ),
                   'accept_path_info' => array( 'eZSetupTestAcceptPathInfo' ),
-                  'timezone' => array( 'eZSetupTestTimeZone' ) );
+                  'timezone' => array( 'eZSetupTestTimeZone' ),
+                  'ezcversion' => array( 'eZSetupTestComponentsVersion' ) );
 }
 
 function eZSetupConfigVariable( $type, $name )
@@ -271,6 +272,40 @@
 }
 
 /*!
+    Test if eZ Components version is greater than required version
+    This is currently done by checking existence of class and function
+    aince ezc does not have an api to get version information.
+*/
+function eZSetupTestComponentsVersion( $type )
+{
+    $minVersion = eZSetupConfigVariable( $type, 'MinimumVersion' );
+    $testClass = eZSetupConfigVariable( $type, 'TestClass' );
+    $testFunction = eZSetupConfigVariable( $type, 'TestFunction' );
+    $result = true;
+    $ezcExists = true;
+
+    if ( $testClass && class_exists( $testClass ) )
+    {
+        if ( $testFunction && !is_callable( array( $testClass, $testFunction ) ) )
+        {
+            $result = false;
+        }
+    }
+    else if ( $testClass )
+    {
+        $result = false;
+        $ezcExists = false;
+    }
+
+    return array( 'result' => $result,
+                  'persistent_data' => array( 'result' => array( 'value' => $result ),
+                                              'required' => array( 'value' => $minVersion ) ),
+                  'needed_version' => $minVersion,
+                  'class_exists' => !$result );
+}
+
+
+/*!
     Test if PHP version is equal or greater than required version
 */
 function eZSetupTestPhpVersion( $type )
Index: settings/setup.ini
===================================================================
--- settings/setup.ini	(revision 23259)
+++ settings/setup.ini	(working copy)
@@ -18,6 +18,13 @@
 MinimumVersion=5.1
 UnstableVersions=6;
 
+[ezcversion]
+# Check for correct eZ Components version by existence of 
+# class and function since there are no way of getting version information
+TestClass=ezcBaseFile
+TestFunction=walkrecursiv
+MinimumVersion=2008.2
+
 [php_session]
 Extensions=session
 Require=one
Index: settings/site.ini
===================================================================
--- settings/site.ini	(revision 23259)
+++ settings/site.ini	(working copy)
@@ -694,7 +694,7 @@
 # The pagelayout to use for first time setups
 PageLayout=setup_pagelayout.tpl
 # List of tests to be run, critical tests must pass for the setup to continue
-CriticalTests=variables_order;directory_permissions;phpversion;database_extensions;image_conversion;open_basedir;safe_mode;memory_limit;execution_time;magic_quotes_runtime;allow_url_fopen;accept_path_info;php_session;file_upload;zlib_extension;dom_extension;timezone
+CriticalTests=variables_order;directory_permissions;phpversion;database_extensions;image_conversion;open_basedir;safe_mode;memory_limit;execution_time;magic_quotes_runtime;allow_url_fopen;accept_path_info;php_session;file_upload;zlib_extension;dom_extension;timezone;ezcversion
 OptionalTests=php_magicquotes;mbstring_extension;curl_extension;imagegd_extension;imagemagick_program;database_all_extensions;php_register_globals;texttoimage_functions
 OverrideSiteDesign=standard
 
