I just moved every movable .cpl file to a different directory and started
the control panel. Wonder! It worked. Than I copied the saved .cpl files
back, one by one, and restarted the control panel evey time until it crashed.
So I found that my Firebird2control.cpl was not working with vista.
Ah, "test to break". Well done ;-)
I blame the MS-Developers of the control panel that they don't block those
.cpl that doesn't work any longer instead of crashing the whole control panel.
Actually, you can blame 'em for a bit more than that; the way Control
Panel is ennumerated is a safety risk. Each .CPL file can provide the
enumerator with callback code, so that in effect, when you think you
are merely "listing the control panel", you are in reality potentially
running code in any or all items there.
So if someone says "Blah in Control Panel is malware,. delete it for
safety", the malware could have the drop on you. By the time you list
Control Panel and select Blah, it's already run its code and could be
doing anything, such as creating a Blah2 even as you delete Blah, or
deleting your data files in the background as a "poison pill".
That's why an incompatible .CPL is crashing you even when you are not
doing anything with that particular item.
What is not clear is whether this "trust me, I'm a .CPL file" callback
opportunity is exposed whenever .CPL files are found in contexts other
than Control Panel; say, as an attachment listed in OE.
Safety Rule #1: The system should not take risks that the user has
indicated no intention to take.
A lot of our malware headaches come from breaking that rule.
I would loooove someone to post here and tell me I'm wrong, e.g. "that
was fixed in Vista way back in the beta period". But, AFAIK, etc.
-- Risk Management is the clue that asks:
"Why do I keep open buckets of petrol next to all the
ashtrays in the lounge, when I don't even have a car?"