I just had this issue. I did a lot of research, too, and even tried that C:\Windows\Registration thing hoping for a quick fix. In my case, that did not work.
- Open the registry editor regedit.exe
- Look for
S-1-5-21-##########-##########-##########_####_Classes where # represents a random sequence of numbers
- Right-click this key and get Permissions
- In my case, there was a bunch of meaningless numbers which was an invalid SID. I removed this entry.
- Add the security for the user experiencing the problem, and give them Full Control. This fixed the issue for me.
Here is what happened to start the chain of events. This story is relevant later on:
After a hard drive crash, I recreated a user account for my wife. I logged in as her and verified it worked.
Next, I restored the user profiles and their data from backup. Unfortunately, this also restored over the Windows account information (NTUSER.DAT, ntuser.dat.LOG*, and ntuser.ini). When my wife logged in, Windows logged her in with a temporary profile, and all of her data was deleted after she logged out.
Later, I copied her user profile data back to a temporary folder. I deleted and recreated her user profile again. After I logged in as her, I logged back out and copied over her files one more time. This time, I made sure not to copy over the NTUSER information.
All seemed to be working fine. I logged in as her, accessed her data, and was about to call it quits-- except that I couldn't launch explorer as her! I got the same error that you did:
Windows cannot access the specified device, path, or file. You may not
have the appropriate permissions to access the item.
I did restore her AppData folders the second time, too. I don't know if that caused this problem.
In my day job, I work in developer support, so I'm used to getting crazy stuff like this. I often use Process Monitor to help solve permissions issues. I started Process Monitor in my account trapping both Registry and File accesses, switched over to her account, tried to open explorer a few times, and then logged out.
When I logged back in as myself, I had over 1.1 million events in Process Monitor. Luckily, Process Monitor makes it quick and easy to filter to the stuff you need to see.
I right-clicked the columns, clicked Select Columns, and added the User column. Next, I right-clicked my account in the User column and chose "Exclude '[myaccount]'". Then I went to the Result column, clicked on the result "Success", and chose "Exclude 'Success'". I saw there were a few "ACCESS DENIED" results, so I right-clicked on one and selected "Include 'ACCESS DENIED'".
Now, I had a list of very interesting ACCESS DENIED errors on the following registry keys:
(Side note: the Process Monitor stacks for these entries showed that explorer.exe was trying to do some kind of cryptography stuff like initializing security, verifying trust of certificates, etc.)
I opened regedit.exe (disclaimer: really bad stuff can happen if you don't know what you're doing here). I navigated down to HKEY_USERS, but I didn't see this key.
I had to switch users again and login as my wife's account. This time, when I started regedit.exe as her and navigated to HKEY_USERS, I saw the following entries:
S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011 (BLAHBLAH = random numbers)
I right-clicked on the first entry and chose Permissions. The users listed were:
- [wife's account]
OK. That looked fine to me. But I wasn't seeing errors on this key.
Finally, I right-clicked on the entry that was having problems, "S-1-5-21-BLAHBLAH-BLAHBLAHBLAH-BLAHBLAHBLAH-1011_Classes", and chose Permissions. I saw the following users:
- [Meaningless Number That Was Probabaly An Invalid SID]
That weird number must have been related to one of the prior incarnations of her account. I removed it and added her account as having Full Control. Immediately, Explorer.exe started working! Crazy.
I hope this helps you and/or others who have been having this problem. At the very least, you may be able to isolate the issue with Process Monitor.