I realize that this question is likely no longer relevant to OP but just wanted to post my answer here in case it is helpful to anyone else.
I had this error earlier today on my 64-bit Windows 7 Pro (after uninstalling an application called PinnacleMyDVD I was not longer able to launch Outlook, MS Access, and some other apps).
I my case Windows event viewer displayed the following error:
Activation context generation failed for "C:\Program Files
(x86)\Microsoft Office\Office14\OUTLOOK.EXE.Manifest". Dependent
Assembly
Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"
could not be found. Please use sxstrace.exe for detailed diagnosis.
After reading through some of the other answers on this site, I decided to download and install the Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
from here. This did not however resolve the issue.
One of the answers though pointed to this Microsoft article which is largely for Vista but also has a paragraph for Other versions of Windows (the instructions are practically the same for Vista and other versions, the only difference being the expected location of the registry keys).
According to the article the location of the registry key for non-Vista versions is:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners
Anyway, I had already checked my Windows\winsxs
directory after reinstalling the C++ redistributable, and found that it had a folder with a name that closest matched the parameters in the Windows event text:
x86_microsoft.vc90.openmp_1fc8b3b9a1e18e3b_9.0.30729.1_none_118a7387f9d14a82
In this case it looked like the string 9.0.30729.1 in the folder name was the version of the file in that folder.
So I followed the instructions in the Microsoft article mentioned above, and changed my registry key to point to that version as shown in below screen shot.
After this the error was gone.
It's a good question but I'm going to try persuade you not to uninstall any of the components. Their existence on your system won't interfere with anything or slow it down. You only loose a bit of hard drive space.
The reason to keep what's installed is because there are unexpected, sometimes downright odd interdependencies between the components. You could try uninstall components that seem unnecessary, but you might discover something you do need no longer works.
In my opinion your bloatware tag is totally justified. The first time I installed Visual Studio 2010 (having selected Visual Basic only) I was gob-smacked at the number of components installed and size. Still, I've been using it without issue for years now. Despite the bloat, Visual Studio is nevertheless a first-rate development environment.
Best Answer
Short answer
Just leave them alone.
Long answer
It is not safe to uninstall them: all Microsoft Visual C++ Redistributable Packages include libraries required to run C++ applications that are built by using Visual Studio. If they're installed it means some programs required them in order to work.
In case you were wondering, you can't uninstall say, the 2005 package, and keep just the latest version, because every package is standalone: applications built with Visual Studio 2005 will require the 2005 library package, those built with Visual Studio 2008 will require the 2008 package, and so on.
Also, in 64-bit operating systems you'll see both x64 (64-bit) and x86 (32-bit) versions installed, and the latter is required for 32-bit C++ programs who might need them. You can't just keep the x64 package and uninstall the x86 one.
As for Microsoft SQL Server Compact Edition, it can be used by some programs as well, and you shouldn't uninstall it either.
Additional information