I believe the easier path is going with WYSIWYG module.
If you want to go with CKEditor, it sets the editor using hook_element_info_alter. It changes the widget for any form element of the type text_format, in every form built with drupal.
I went looking for the pre_render function CKEditor uses to set the editor up, and figured out a way to prevent it from showing up in summary fields only. First, we'll have to swap the CKEditor pre_render function for one of our own:
function MYMODULE_element_info_alter(&$types) {
if (!empty($types['text_format']['#pre_render'])) {
$types['text_format']['#pre_render'] = array_diff($types['text_format']['#pre_render'], array('ckeditor_pre_render_text_format'));
}
$types['text_format']['#pre_render'][] = 'MYMODULE_ckeditor_pre_render_text_format';
}
Your module must run its code after CKEditor, and you better declare it depends on CKEditor in the .info file.
Then copy the ckeditor_pre_render_text_format
from CKEditor module to your module and change its name to MYMODULE_ckeditor_pre_render_text_format
. You will notice it already has an if clause that checks whether $element['summary']
and loads CKEditor for both value and system. Just delete the line that sets it for summary. In version 1.4 (latest stable) the line looks like this:
$element['summary'] = ckeditor_load_by_field($element['summary'], $element['format']['format'], FALSE);