Friday, January 30, 2015

Resolving "missing One Drive overlay icons" issue

This question is asked many times over Microsoft support forums, but I'm yet to see a meaningful answer to it, even though the reason for this failure is rather simple.

First, a few words about what actually happens here. With OneDrive Microsoft made a rather unorthodox decision to have this piece of software installed on per-user basis. This is a major deviation from the "traditional" Windows software installation practices, when software is installed once through Administrator account and then becomes accessible from all user accounts on the computer. What it means in case of OneDrive is that each user account on the given computer has to install OneDrive independently and separately, just for themselves.

And this almost works. Most of OneDrive's functionality is successfully installed into each user's personal folders, except for one piece: icon overlay support in Explorer. The icon overlay functionality currently requires making modifications to HKLM area of the system registry, namely

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

A normal user account (i.e. an account without administrative rights) is not able to perform such system-wide modifications. Windows immediately blocks any attempts to write into HKLM area in the registry. This is the reason the icon overlay functionality simply fails to install from under normal user accounts. When installed in this fashion, OneDrive still works correctly, it properly syncs the files, but there are no icon overlays in Explorer.

Now, how to solve this problem and make these icon overlays to work:

Method 1 - Primitive
Log into Administrator account on your computer and install OneDrive for Administrator. You probably don't really need OneDrive for Administrator, but doing this will make the necessary system-wide changes to the registry. Once you install OneDrive for Administrator account, icon overlays should start working for all normal user accounts on that computer.

Method 2 - Smart
1. Uninstall OneDrive from all user accounts
2. Log into Administrator account
3. Enter "Local Users and Groups" applet in "Computer Management". Make each normal user a member of "Administrators" group, i.e. give all of your users full administrative rights. (You can also use "User Accounts" entry in "Control Panel" for that purpose).
4. Log off from Administrator account.
5. Log into your normal user account (which now has administrative rights) and perform fresh installation of OneDrive.
6. Repeat step 5 for all user accounts that need OneDrive
7. Go back into Administrator account. Reverse step 3, i.e. take away administrative rights from all normal user accounts.
You are done. Now all users should see normal icon overlays in their OneDrive folders.

Method 3 - Hackish
Log into Administrator account on your computer and merge the following data into your registry (i.e. save it as a .reg file, right click it and execute the "Merge" command). Backing up your registry before performing any modifications is strongly recommended
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ SkyDrive1]
@="{F241C880-6982-4CE5-8CF7-7085BA96DA5A}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ SkyDrive2]
@="{A0396A93-DC06-4AEF-BEE9-95FFCCAEF20E}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ SkyDrive3]
@="{BBACC218-34EA-4666-9D7A-C78F2274A524}"


Now all users should see normal icon overlays in their OneDrive folders.