Well after posting this message i started poking around in the NSIS source code to see what goes on. and i implemented a working version of the SetSection but the limitations of it is that it can only be called before the actual component page is displayed and haven't figured the flag to makeing a selection not be selected when the box is created.. I think it could be rewritten to make it a little better.
And as i playing around with this i was thinking about functionality.. I think the only reasonable way to allow selection/deselection while the Component page is showing is to have something like a call back functioned called each time a selection is clicked i don't know if it would be possbile to have
Function .onListSel
Pop $1
StrCmp $1 5 "" Done
SetSection on $1
Done
FunctionEnd
and then have a variable that is filled with the section # that is clicked to do compares.. or maybe the number is placed somewhere else like pushed onto the stack so that you can pop it off into a variable. anyone have any better ideas how to manage this?