Windows Library – Add a Non-Indexed Location

Posted On
Windows 7 introduced us to libraries, which are supposed to make it easier to find, work with, and organize files across your computer and network. Each library brings related files together in one place – regardless of where they are actually stored on your computer or network.

However, you could not add a non-indexed (either locally or remotely) network location to your Windows 7 libraries!

Optimistically, I was hoping that with Windows 8 I would be able to easily add these non-indexed network locations like the folders on my QNAP NAS through the normal menus. Unfortunately, I was too optimistic – you can’t.

If you try to add a non-index network location to a library, you will receive the error message “This network location can’t be included because it is not indexed.” So, you will try to index it, but when you go to index it, you won’t be able to do that either, and then you’ll be confused for a moment.

Of course though, as with most problems, there are solutions! So, after researching the issue, nearly all people suggested one of three options:

1. Offline File Synchronization
Although this option does provide full indexing of the content, it involves creating a local copy of all of the data in the network location. This is simply not an option for anyone who has more data on their network storage device than would fit on their computer! It may make sense for someone who has a small amount of data in their network location who brings their PC with them outside of their network and cannot connect back into their network with a VPN.

If this is the option for you, all you need to do is:
  1. Right click on the network folder or mapped drive and click “Always available offline”.
  2. Add the network folder or mapped drive to the library (Right click on the Windows library (ex: Documents), click on “Properties”. From the Properties window, select “Add…” and select the network folder or mapped drive in step 1.)

2. Symbolic Links
This option involves creating a local folder, and then a symbolic link between this folder and the network folder. This seemed like an excellent idea – it would allow me have all of my files and folders from my NAS show up in my libraries without the burden of keeping a local copy of them! The dream was short lived after a number of issues with Windows 8 apps, disappearing thumbnails and other issues.

To create a symbolic link to your network folder and add it to your library:
  1. Create a local folder anywhere on your computer. (ex: C:\symlinks\Documents)
  2. Add the local folder to the library.
  3. Delete the folder created in step 1. Do not remove it from the library.
  4. Open a command prompt as an Administrator. (In the Start search box type “cmd”, right click the entry and click Run as Administrator)
  5. Type the following in the command prompt: mklink /d “C:\symlinks\Documents” “\\MyNAS\NetworkFolder” (changing the names of course, remember your local folder comes in the first set of double quotes, and your network path comes in the second set of double quotes!) For more information on mklinks click here.
Now, if you browse to the path you created your local folder in (ex: C:\symlinks\), you will notice a symbolic link with the same name as the folder that you deleted in step 3. Opening this folder will lead you to the network location you specified. Any changes made to this local folder will reflect automatically in the network location, and vice versa of course.

3. Indexing the Network Location
This is the best of these three options, however, it only works on 32-bit operating systems. This was obviously a deal buster for me as I’m running a 64-bit version of Windows 8.

To enable indexing of network locations:
  1. Download and run the following patch: http://www.microsoft.com/en-us/download/details.aspx?id=3383
  2. Restart your computer.
  3. In the Start search box type: “search” and click on “Change How Windows Searches”.
  4. On the new Indexing Options window click on “Advanced”. You will see the “Add UNC Location” tab where you can add your network location (ex: \\MyNAS\NetworkFolder”).
  5. Now you can add the network folder to your library because it’s indexed.

The method I ended up using was one that is not mentioned nearly as often as the above three. The result is very similar to method 2, “Symbolic Links” but without the issues I was experiencing.

4. Manually Edit the Library File
This is, in my experience, the better way of doing the popular symbolic links method. It involves changing the library file to include your network path. It works on all versions of 32-bit and 64-bit Windows 7 and Windows 8 but does not index the network locations.
  1. Add an extra local folder to your library. (ex: C:\temp)
  2. Browse to this folder: C:\Users\REPLACEME\AppData\Roaming\Microsoft\Windows\Libraries\
  3. Copy the library file you added a folder to from step 1 to your Desktop.
  4. Right click on the library file on your Desktop and select “Open with” and choose Notepad.
  5. Search for the local folder you added in step 1 (ex: C:\temp). Replace this value with the location of your shared network folder (ex: \\MyNAS\NetworkFolder) and remove the entire line that contains the <serialized> and </serialized> tags.
  6. Save your changes to the library file on the Desktop.
  7. Cut the library file from the Desktop back to the folder in step 2 and override the existing file.

If you choose a method that does not index the files (methods 2 and 4), you will have a toolbar at the top of the Explorer window that says some features are unavailable when you open the library. This can be ignored by right clicking the toolbar and selecting to not be notified again. Once these locations are added to your library, they can be viewed or re-arranged, set as default save locations, and be configured through the standard Library Properties page.

Why Microsoft did not allow Windows 8 users to add non-indexed network locations to a library through the standard UI after the number of complaints they received about it in Windows 7, I will never know.