It’s common to use the “Links” toolbar in IE to keep your favorites handy. What’s great is that you can drag-and-drop into the folders directly from the link without having to use somewhat-clunky Add Favorites dialog. Drag, drop, and you’ve got your bookmark.
Having just purchased a new PC, I copied my Favorites from my old machine to the new and encountered a well known issue with Windows Vista User Account Control. Skip to the end if you just want to fix your problem. If you’re curious about the details, here’s the rough outline:
Short story: Windows Vista has a system that controls if or if not files can be created.
User Account Control (UAC) is responsible for directing who can update what, when, and how for just about every import action in Vista. It is the thing that makes Vista and successors the most secure OS family Microsoft has ever shipped. While it’s gotten a lot of criticism in the past, particularly when people were still getting used to the idea, it actually makes creating secure software possible without getting in the way of the average person. But it is a beast of an engineering system, in the best sense of the word, but the details aren’t really important here.
Short story: Vista is doing “the right thing” by keeping Internet Explorer from creating a file.
In this case, what has happened is that settings kept by UAC with the Favorites have been lost, which keeps Internet Explorer from creating new Favorites. In particular what has been lost is the annotation that allows a “Low Integrity” application to modify/create those files. Low Integrity in this case basically means “untrusted”. IE has declared itself, essentially, as an untrusted application (since it deals with the nasty, wild-n-wily interwebs) and so Vista is doing what Internet Explorer has told it to do.
This particular problem occurs when you’ve restored your Favorites files from a backup, by copying them from another machine, etc. You can peek at the Event Viewer (above) to see various UAC events that have occurred. This is how I first discovered the root cause of the problem.
Luckily, there’s a command-line tool to check (and fix) the problem: icacls.exe You can see in the above screen shot the difference between a folder that has the correct setting and one that does not. The “Mandatory Label\Low Mandatory Level” that’s missing from my “Social” directory is what’s keeping me from being able to create new links there.
How-To: The Fix
Short Story: a tool needs to be run on those files to change the access control of the files to allow Internet Explorer to change them.
- Open up a command window by going to Start menu -> All Programs -> Accessories -> Command Prompt. This will open a command prompt window in your user directory.
- Type in the following command: icacls.exe Favorites /t /setintegritylevel (OI)(CI)L
The command will run through all of your Favorites and set the access control for UAC correctly.
More information can be found here: