Win7 Library Tool
Windows 7 libraries are a really useful feature of Windows 7, however unfortunately they arrive in a slighly cut-down form out of the box. Microsoft decided against exposing some really useful capabilities to users, like adding network locations, pretty much the first thing I tried to do. You get this message:

Luckily, you can add network locations (and any other un-indexed locations), but it must be done programatically. MS supply a command line utility slutil.exe, candidate for the worst named executable in history. Pretty sure it stands for shell_library_util. Anyway, I decided to write a tool to make it easy to add network locations, and added a few other features as well:
- Add network (UNC or mapped drive) and any other un-indexed folders to libraries.
- Backup library configuration, such that a saved set of libraries can be instantly restored at any point (like after a re-install of the OS or for transfer between multiple computers).
- Create a mirror of all libraries (using symbolic links) in [SystemDrive]:\libraries. This means you can reference all your files using a much shorter path, and also provides another entry-point to your files in many places in the Operating System (e.g. file open/save dialogs).
- Change a library’s icon.

Hopefully it’s easy enough to use, so I don’t have to explain it
You can download it for free below. (Note: This will only run on >= Windows 7.)
Download Installer | Source Code
I must give credit to Josh Smith for his TreeView CodeProject article, upon which this solution is modelled.
The application uses the Microsoft API CodePack to manipulate libraries, which I encourage you to check out if you are writing software to integrate / take advantage of new features in Windows 7.
If you want to learn why and how libraries were introduced in Windows 7, including diving into the .library-ms file format, you can read this MSDN article.
Now featured on Tekzilla!
Just tried to download this promising tool, but the server says that it was not found
Sorry my bad, now fixed.
Thank you very much! Great program!
Well, it added the Library I created, and the folders I added from the Samba share appear in it, but my Pictures and Music Libraries have vanished!
Follow-Up:
The missing libraries appear in File Save and File Open dialogs, but not in Explorer. Instead, there are 3 blank icons (no name, and with a blank white icon). I guess I should mention I am running Win 7 Professional x64.
Follow-Up:
After a few minutes and opening and closing a few windows. All libraries now appear, BUT: Documents, Music, Pictures, and Videos have lost their fancy icons.
Yeah I experienced that too. I started to look into it, and, like you, found that when I closed all Windows Explorer instances and re-opened them a bit later, the broken libraries were suddenly fixed. This problem occurs when you name the library the same as one of the built in (default) libraries (Pictures, Music, Documents, Videos). If closing and re-opening explorer doesn’t fix it, maybe try log off/on or even reboot.
To me this looks like a Microsoft bug, since, at least for me, you can browse to the library repository (see path below), and all libraries are listed and working there correctly. You can confirm that your Pictures and Music libraries are working in Windows Explorer by going to:
C:\Users\yourusername\AppData\Roaming\Microsoft\Windows\Libraries
Regarding the fancy icons – yes this tool does not set the icon of the libraries, I might add this in a future version, but until then the work-around is that you have to manually change the icon by choosing Properties on the library in Windows Explorer after you have created it using Win7 Library Tool.
Using properties on a library doesn’t give one access to change the icon, but you can get them back by following these instructions.
Note:
When you open the libraries in Notepad, the line specifying the icon:
imageres.dll,-1002is missing. You’ll need to paste it in.
My mistake, yeah I forgot that also wasn’t exposed in the OS by default. So I’ve updated the application to preserve library icons and also allow you to choose custom icons for libraries:
This is available in v1.02.
excellent program mate, bloody excellent! something like this should have been included by m$ default!
Brilliant effort, mate! Does exactly what it says on the tin! Must confess I was more than a little annoyed about Windows 7 not supporting libraries on network drives/NAS boxes out of the box! Still, with your app, all is well again!
Excellent tool, thank you
No problem, just seems like such an obvious oversight (I suspect due to Windows Search limitations, which for the record I find useless anyway).
Just a follow on from my last comment, how do you get Media Player to see the libraries indexed by this tool? I’ve got a load of music on a remote drive which is showing fine the in the library, but will not show up in Media Player?
I don’t use Media Player, but it looks like when you go Organize->Manage Libraries->[LibraryName], if [LibraryName] doesn’t exist, it re-creates it with the default folders included. So it seems the trick would be to name your library that contains Music as ‘Music’, the library that contains movies as ‘Videos’, and the library that contains Photos as ‘Pictures’. Hope that helps.
Thank for the help, but unfortunately Media Player doesn’t seem to like it. I have a ‘Music’ library with a ‘\\remote\folder’ link and a local ‘d:\folder’ link created via the library tool, but Media Player only sees the local content. I may have to consider changing my media player
Weird, I tried adding a UNC and mapped network drive (in separate tests) and both times all the music appeared in WMP. In fact, I could add a UNC or mapped network drive to the Music library directly via WMP. Note: the music was on a remote WinXP box.
Even more weird, I came back to this today, and it’s all working fine
Anyway, great app, thanks.
Does just what it says. Thanks!
Brilliant. Thanks for the great work on this. Like everyone said, MS should have included this from the beginning.
Perfect!!! Great tool.
After doing this, I can only “arrange by” folder when viewing a library and not by Name, Date modified, Tag, or Type. Any ideas why and how to fix this because when you have multiple folders in a library it makes it difficult to find exactly what you are looking for. My assumption is that this is because it isn’t indexed…
I did find this info in the help docs so that may be the answer. I’ll wait awhile and see what happens:
“Why can’t I search or arrange files from a folder that I recently included in a library?
If a folder from a non-indexed location (such as an external hard drive or a network) was recently included in a library and it contains a large number of files, it might take some time for the library to add those files to the index. During the indexing process, searches and file arrangements might appear incomplete. For more information about indexing, see Improve Windows searches using the index: frequently asked questions.”
I think you assume right – I can fully understand that to ‘arrange by’ something other than folder would require the contents to be indexed first. It would be great if Windows really did progressively index all non-indexed locations (e.g. samba shares) but I’m not convinced by just this statement in the help that ‘eventually’ you’ll be able to do this. Might be a good idea to post this question on a site with MS search people to see if there is some truth behind this.
Thanks for this tool: http://stadt-bremerhaven.de/netzlaufwerke-in-den-bibliotheken-unter-windows-7/
I’ve been looking for something like this since I installed Windows 7. The first thing I did was try to add server shares to my libraries and was disappointed when it didn’t work.
After adding my existing libraries and adding a single network location to my Pictures library, I went ahead and applied the changes. Fortunately I had saved off my previous .library-ms files as my libraries were pretty busted. Two of my libraries were completely missing and my changes to the Pictures library weren’t even there.
Plus, when comparing the old files to the new ones, I noticed that a bunch of things were changed that I would not have expected, such as the name (e.g. was @shell32.dll,-3495, now not even present), the folder type, and the known folder GUID.
Surely I’ve done something wrong. Any ideas?
Thanks,
David
This sounds similar to the issue reported above. This problem seems to only occur with the built-in libraries. I looked into the .library-ms file diffs in detail just now in an effort to figure this out and I saw that the app was setting the ‘library type’ (folderType element) to the ‘generic’ guid rather than respecting the proper types for the built-in libraries (Pictures, Documents, Music, Videos). So I have updated the app (available in 1.03) to read this info when you click the wand icon to enumerate libraries, and on the library properties dialog you can change the type if desired and it will be set when applying changes. So that removes one of the differences. The @shell32,-[num] is just looking up a string from shell32.dll for the library name and the search provider description, this is not possible to preserve programatically, but it shouldn’t matter anyway, because the library name defaults to the file name of the .library-ms file in the case that the name element does not exist. The search provider publisher and product are both optional and for display only, so shouldn’t be a problem as far as I can tell (and again the ShellLibrary API doesn’t seem to allow me to set this anyway). Finally, the isDefaultNonOwnerSaveLocation element is used for homegroups so I don’t think that matters.
Long story short, try the new version, and if you still see the problem, try the advice here. I initially did see this problem as well, but now, following your steps, everything is working on my Win7 RC box.
Thank you for the program which I have installed. I have added server files to the library but it does not appear to include subdirectoris. I have a directory called work whithin which there are dozens of subdirectories. When I search I don’t get any results from the subdirectories.
Must I add each subdirectory individually to the library or is there some other way to do it?
Many thanks
You certainly don’t have to add subdirectories individually. In fact I’m surprised to report that search actually works for me (finds results in subdirectories on the network location in the library). It might be that Windows is still in the process of indexing your network location (not sure about this) – see post above. Maybe someone knows a way to check on indexing progress?
Thanks for your reply. It’s more than 2 days since I installed it so I would think that’s enough time for indexing about 20gb. I now get a message after a search ‘Some library features are unavailable due to unsupported library locations.’
I’ll set out exactly what I’m doing so that it’s clear. My machine is running w7 the server is running small business/exchage 2003. All word documents are on the server. I’ve added the folder whithin which are nested all the other folders containing the word docs to the library with your program and they’re showing up.
I then go to the statrt button at the bottom left of the screen and type in to the search box at the bottom of the list a word I know must appear many times in my files but all I get is results from outlook. It then gives me an option to search again in libraries which I do but with none of the expected results.
Is there anything I must do different?
Thanks.
Just what the doctor ordered. Thanks!!
I have successfully added a network share on a NAS in a library. My primary goal was to get my NAS indexed and the network share added to that library is NOT indexed.
Seems like there is no way of indexing files of a network share. Quite disappointing.
If someone successfully did it, please tell me how to do.
I’ve just gone to use this tool, and works fine with default libraries however when I’ve added a new library. Has anyone experienced the same thing?
Sorry that should say:
I’ve just gone to use this tool, and works fine with default libraries, however when I’ve added a new library it crashes. Has anyone experienced the same thing?
Fixed in 1.04.
Great tool, thanks a lot, should have been included in Windows 7 by default..
Application crashes immediately on launch…
oh well.
“I’ve just gone to use this tool, and works fine with default libraries, however when I’ve added a new library it crashes. Has anyone experienced the same thing?”
Same here
Now fixed in 1.04.
I could not able to add FTP location through this tool. Is it not possible ?
Not possible afaik. Win7 libraries work using symlinks, and I don’t think its possible to create a symlink to an ftp location unfortunately.
Can you post a ‘portable’ version?
By ‘portable’ i assume you mean without the installer. Just download the source, extract, and look under ‘Win7LibraryTool\bin\Release’, you can copy the 4 files in there and execute directly.
Bug report (minor)
I had an “empty” library from trying to create a library for NAS folders. When clicking the wand button (open existing libraries) the app failed. When I removed the empty library the problem disappeared. FYI.
Thanks, this is now fixed in 1.04.
Great tool! Very helpful.
Suggestion: Include a ready to go standalone package in the downloads section.
Thanks,
Wulf
Hi, did someone manage to get network shares indexed on windows 7?
nice tool, thank you!
Does this mean that the files will then be picked up my Xbox 360 media centre extender.
Thanks for this, it’s a great improvement on the basic Win 7 Library functionality.
MAN!!! This is what I’ve been looking for!! Much thanks!
I am running Windows 7 via Parallels 5 on a MacBook Pro with OS X. To synchronize my MP3 Player I need to use Windows Media Player (running on Window 7), and I want it to have access to the music I have on the Mac folders.
I can see and have access to the Mac folders in Windows. When I try to add a Mac folder on the Windows’ Music Library I get the message “This network location can’t be included because it is not indexed”.
Then I use the Win 7 Library Tool to add the Mac folder to the Windows’ Music Library. The Mac folder is added to the library but still appears as “Unsupported” on the Music Library Locations. Also, in the explorer a message appears saying “Some library features are unavailable due to unsupported library location…”
Of course Windows Media Player cannot use the Mac file and no music is shown.
Any idea on how to solve this? Thanks!
It’ really a useful software.
Good!
I have been able to add NAS folders, but they are not indexed. Does this tool make windows 7 index the NAS folders?
regards, M
Very useful. Thanks for doing that.
As Mark points out, the NAS folders are not indexed, therefore, the Arrange By button in Windows Explorer is functionally disabled; it only allows the “Folders” view. It’s important to plan which folders should be included in which library to retain maximum functionality.
Improvement suggestion: when I clicked the Apply button for the first time, the program failed to create the libraries. Error dialog said that one folder was damaged (or words to that effect). It would have been helpful to know *which* folder was causing the problem. I resolved the issue by deleting all the folders but one from each library, then building it up from there. Knowing the name of the faulty folder would have allowed me to delete just that one folder.
Great piece of work!
Thanks for the suggestion. This has been added in 1.05.
Thanks man, you are a genious… now I can see all the music in my NAS in my WMP library. Big thanks!
Many thanks for making this app available.
Worked well the first time I used it, some weeks ago.
Today I used it again and it wiped out all of my libraries and my quick launch taskbar.
I now have to go back and set it all up again…
Hmm – Not sure why the quick launch bar disappeared – but I now realise that loosing my library set up was my fault.
I should have read the on screen message!!
And – why hadn’t I used the facility to backup the library setup that this excellent little program provides!
Roy
Outstanding tool. Thank for sharing, it is so useful.
One feature request for furture editions: would it be possible to make the libraries (and their contents) sortable, either manually or alphabetically?
Either way, this is a really great utility. Thanks for your hard work.
Great tool – really useful.
Only problem for me is that the UNC paths you add have to exist at the time. I have a work laptop and I want to add UNC paths for network shares at work, and at home – but I can’t connect to both networks at once so it won’t let me.
Is it possible to add a prompt – such as “Network path doesn’t exist – add anyway?”
Thanks!
Unfortunately, the API Microsoft fails if you try to add a folder that is not currently accessible
So the tool cannot be made to allow this. What happens if you add your work ones at work, then add the home ones when you get home, separately?
Bit of a problem
I used the tool to add a network location to the Documents library and it’s now lost the Music, Pictures and Videos libraries. They now only appear as a strange blang sheet icon that cannot be opened.
Am i being stupid here? Any suggestions?
Try the advice here.