On a couple of my WordPress sites, I’ve encountered an HTTP Error when trying to upload media. I tried many solutions: increasing PHP’s memory allocation, changing file permissions, using GD instead of Imagick, adding lines to my functions.php, etc. None of them worked.
But I found a workaround. A simple plugin called Add From Server allows you to add media to that is already uploaded to your website’s server. So, all I need to do is upload the files to my server, add the media from there, and go about my business.
It’s not a true solution, only a workaround, but it’s a more-than-adequate workaround until WordPress can find a singular solution to this elusive error.
Update: Moving from a Debian 7 to Debian 9 VPS seems to have eliminated this problem.
Permanent solution: create a Windows 10 install flash drive and do an upgrade of your existing Windows 10 installation – it will fix everything and you won’t lose any files, programs, or documents.
The rest of this article will be kept for documentation purposes, but please save yourself some headache and re-upgrade your computer. It will take less time, you won’t lose anything, and it actually fixes the problem.
This is for people who now receive some form of this Critical Error after clicking the Start button.
I tried the widely circulating PowerShell command, ran sfc, ran the DISM command, tried the Safe Mode trick, etc. Everything works fine under another (created post-upgrade) user account on the machine.
Being a good little sysadmin, I looked through Event Viewer and found: Error 1542, User Profile Service, Windows cannot load classes registry file. I looked into how to address that, and the fruits of my labor resulted in this workaround that appears to make my Start Menu mostly functional again – at least for a single login.
Start Menu search, Cortana, and the Photos app still don’t work, but at least I can generally use the PC otherwise. The issue these steps solve is how the UsrClass.dat (user account’s classes registry hive) is not loading when the account logs on.
This workaround may not work for everyone. Please note Step 4 and stop there if it you have 2 entries.
Login to the affected user account. Do not click the Start button.
Press Windows + R. Type in regedit and press Enter.
Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist
You should see multiple entries here. On the right, there should be two entries that correspond to your user profile. One should be named your account’s SID (something like S-1-2-3-XXXXXXXX-XXXXXXXX-XXXXX-1200) and then another with your account’s SID with _Classes on the end. If yours looks like this, this solution will not work for you. Do not proceed.If you only see one entry with the SID, but do not see the entry with_Classes, read on. Make note of your SID.
Navigate to HKEY_USERS and find your SID’s key.
Right-click the key, click Rename and right-click+copy the contents of the text box. Then click Cancel.
Press Windows + R, type in notepad, and press Enter. Right-click and Paste that SID here. Leave this window open.
Select HKEY_USERS. Click File – Connect Hive.
Paste this into the File name field: %USERPROFILE%\AppData\Local\Microsoft\Windows\UsrClass.dat and click Open.
When it asks what to name it, go back to the Notepad window and add _Classes on to the end of your SID. The result should look something like S-1-2-3-XXXXXXXX-XXXXXXXX-XXXXX-1200_Classes. Copy this entire line and paste it into the Regedit name box and click OK.
There should now be two entries under HKEY_USERS containing your SID, with one having _Classes at the end.
Click your Start button and see what happens.
If you look in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist you will now see an entry for your SID_Classes that points to that UsrClass.dat file.
You will need to perform these steps at every login. Luckily, regedit remembers the folder location for the UsrClass.dat when you load the hive, so all you will have to copy/paste is the SID and add _Classes to it.
Like I said above, not everything is quite working again, but this is a step in the right direction. You can now click the Start button without getting a nasty error.
There probably is a way to make this change permanent, but don’t do it unless you’re willing to risk losing the ability to login to any account, period.
For braver souls:
– Enable the built-in Administrator account. – Setting the User Profile Service to Disabled – Reboot, logging in as the built-in Administrator account – Making an entry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist that mirrors the SID entry except with _Classes added to the end and the file location modified to point to the \AppData\Local\Microsoft\Windows\UsrClass.dat (like the steps above does, but leave everything before AppData on the line alone) – Re-enabling the User Profile Service and rebooting back
I’m not sure if Windows 10 will rebel if the User Profile Service gets disabled like that and I don’t have the time to try it at the moment. Don’t try this unless you’re willing to risk not being able to login, period.
Read the Final Update below to see how to make this solution permanent.
I’ve gotten Start Menu search working, as well. After completing the main set of steps above, simply Open Task Manager, find all instances of the Windows Explorer process and End Task. Then, File – Run New Task – explorer.exe
Start Menu searching now works, as least for this logon session.
The only things not working correctly, now, are Windows Store style apps, like Photos.
From my secondary admin account on a clean boot, I made the above registry change, as well as adding an entry to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist that mirrors the one already there, except pointing to UsrClass.dat with _Classes on the end of its name, and my user account is now permanently accessible on boot without needing to login to the other user account first. Now everything is functional except for a few of the Win10 apps like Photos. Even Calculator and Calendar work right.