I've had a look around the web for this problem, these seem to be the options:
It could be caused by a virus - do a "boot time" scan with your anti virus.
It could be a faulty update - use system restore to to roll back to a date before the fault happened.
It could be that the OS is damaged and you may be able to fix by reinstalling Vista using the "Repair" option.
There are a couple of more complicated fixes (involving editing the registry)
Try the first 2 suggestion anyway, they are least likely to compound the problem.