Possible cause of 1935 error with HRESULT 0x80070002

I was helping investigate a .NET Framework installation failure last week that turned out to have an interesting root cause, so I wanted to pass along the information I learned. The .NET Framework was failing with a 1935 error, and the HRESULT value was 0x80070002. In general this HRESULT means "the system cannot find the file specified" - and since the .NET Framework is packaged up in a single self-extracting package, it is nearly impossible to get this particular HRESULT during setup.

One of the developers investigated a similar issue and found that this particular HRESULT can be caused by a certain type of adware running on the machine. If you launch Task Manager and then look at the Processes tab, take a look for a process named wtoolsa.exe. If this process is running, you will need to clean off this adware (for example by following the suggestions at this site).

One note - the machine that I looked at that was infected with this adware was pretty difficult to clean up. It relaunched itself when I killed the process, it replaced entries in the Run and RunOnce keys when I deleted them. I didn't get a chance to try all of the recommended steps in the article I linked to, but I'm guessing there are some more aggressive tactics you could take to rip it off your machine.

Hopefully this will help some of you solve installation issues for the .NET Framework and other products that fail with 1935 errors with HRESULT 0x80070002.