Lots of people experience a problem with Windows Features can not be turned on or off after upgrading to Vista SP1. Most of them know about the problem when they want to install IIS7 after installing SP1, others experience the problem when they want to uninstall pre-installed Vista games. I was in the same situation, this is what I got:
"An error has occured. Not all of the features were successfully changed."
To solve the problem, someone has suggested to remove additional language packs installed, but... I haven't installed any additional language pack.
Others have solved the problem by reinstalling their system from Vista SP1 installation DVD. I have tried this also with the option to upgrade to preserve my settings and files, but it the installation/upgrade process has failed. It says:
"Windows installation encountered an error and cannot continue"
A clean install is not an option for now.
Actually, the problem has nothing to do with IIS or vista games. After some research, it seems the problem is caused by failure installing windows update KB938371 in vista SP1.
Here are some hints about it from C:\Windows\Logs\CBS\CBS.log
What caused this failure? how to fix it?
If you look at the list of installed updates from Control Panel, Programs and Features, the KB938371 is there, but you cannot uninstall it, and you cannot update it either.
I have tried the stand alone windows update installer Windows6.0-KB938371-v2-x86.msu to fix this, but it is also failed to install. Let's try it manually with package installer, remember rpm from redhat? Vista has pkgmgr. Try pkgmgr /? in cmd console.
First you have to extract the windows update installer(.msu) to get the package (.cab) out of it.
expand Windows6.0-KB938371-v2-x86.msu -F:* c:\KB938371\
will do the trick, then
pkgmgr /ip /m:c:\KB938371\Windows6.0-KB938371-v2-x86.cab
will install the package.
That is if you have luck, but I didn't, the installation failed, and it doesn't solve the problem. May be because the named KB is there already since the day you installed SP1.
Also, lots of people has experienced the failure in installing Windows Update KB938371, see: Update KB938371 Failed
So... am I run out of options? No, but none of the suggested solutions I can find on the Internet works for me.
Finally, this is how I fixed the problem, it is a rude way but it works for me.
1. Take ownership of C:\Windows\winsxs
2. Search and delete all files recursively within C:\Windows where package_39_for_kb938371 is in the filename.
to delete the files, type this from your windows folder in cmd console:
del /s "Package_39_for_KB938371"*.*
3. After deleting all the files, now run the stand-alone windows update installer by double clicking
Windows6.0-KB938371-v2-x86.msu from windows explorer and reboot.
4. A few minutes later I am able to install IIS and other features of Vista:

Will this work for you? just give it a try