For me this was a hardware issue on a Windows XP Professional machine. The IDE ribbon cable had a couple of the wires severed very slightly.
If this is occurring due to uninstalling WSUS 2.0, go to Control Panel --> Scheduled tasks and disable Update Services auto approval task, Update Services configuration task, and Update Services synchronization task, and see if error recurrs.
This issue can occur on Small Business Server 2003 if Windows Server Update Services 3.0 has been installed. See Susan Bradley's blogpost giving Microsoft information on a workaround to fix the autoapprove.exe issue (see the link to “Hot topics from the managed newsgroups“).
In my case, granting <server>\Users, Full Control on HKLM\Software\Microsoft\.NETFramework\policy\AppPatch\v2.0.50727.00000 solved the problem on our Win2003 R2 Terminal Servers. No reboot is required.
Launching BizTalk Admin tools generates this event with the following description: "Shim database version W:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 doesn't have a matching runtime directory". The built-in group Network Service did not have access to the folder. Granting the access fixed the issue.
This event occurs when a Microsoft .NET Framework 2.0-based application requires read/write permissions to a registry key even though the application only has to read the registry key. See ME918642
for a hotfix applicable to Microsoft .NET Framework 2.0.
Several newsgroup posts suggests that the update described in article ME907417
fixes this issue if you receive the event when starting an Office product.
From a newsgroup post: "If you just installed Biztalk Server 2006 beta1 and you receive this event, create a .reg file with the following and then running it will fix this problem:
From a newsgroup post: "This error occurs if the .NET runtime cannot dispose of all of the threads when the runtime tries to unload the application. This can occur if the .NET application starts threads and then suspends them so that the threads are in a suspended state or in a sleeping state when an application is unloaded. Because the application (not the .NET runtime) starts these threads, the runtime cannot dispose of these threads. ME321564
provide hotfixes for it".
We had a Windows service that was giving us that same error. Found that it was a non-visible character in the App.exe.config. Used a config file that was working on another machine and had no problems. We retyped the config for the machine that hadn't been working and the service started working without incident.
If you are using reference to a COM component (.dll, tlb, etc), you need to add it in the Assembly Cache from .NET Framework Configuration.
Event ID CS0016 from ASP.NET The application will show something like: Could not write to output CS0016: file ''c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\root\804ee9b4\26f0df32\yzifia9l.dll'' -- ''Access is denied. ''
Problem actually is due to the user identity configured on the IIS6 application pool not having write permissions to the %temp% location on the system (eg. c:\temp / c:\winnt\temp).
From a newsgroup post: "Have you tried installing the .NET Framework Service Pack 2 on the
machine the program is running on (www.windowsupdate.com)? I was having the same problem on one server and once I installed the Service Pack, my program was working properly."
From another post: "The error message reported in the eventlog was actually misleading. The problem was in the config file used by one of the services. It was not well formed. It had an extra double quote."
I was using .NET Framework 1.0 and encountered the same problem. Installing .NET Framework 1.0 SP2 fixed the problem.