Troubleshooting Windows Explorer
Peter Kirn walks through some remedies to frequent Windows Explorer hangs and crashes. Plus, some great utilties to help diagnose and fix the problem.
There's nothing worse than being in the heat of a project and having something as basic as the Explorer file system in Windows let you down. The fault is most often not Microsoft's: installers for other software very often patch the file system. That can help developers add useful features. It allows some of my favorite things on Windows, like one-click access to editing in text editors like Notepad++, easy unzipping using my favorite compression utility 7-Zip, and even power features like the programmer-friendly TortoiseSVN. (Ask a friendly neighborhood coder why that matters.) But when this extensibility is misused, it can also add instability.
Explorer problems can be manifested as symptoms like these:
- Frequent Explorer crashes, or instances in which Windows tells you it must restart Explorer
- File folders that hang unexpectedly
- Contextual menus that take too long to open
- Crashes when you try to use a contextual menu
These all indicate a high likelihood of errant third-party software. Shell Extensions are, as the name implies, software objects that extend Windows Explorer. When they misbehave, they can take all of Explorer with them.
Nuke Bad Shell Extensions
Fortunately, it's pretty easy to troubleshoot the problem - and in the process, you can clean up contextual menus with too much distracting stuff on them. You'll want to make use of a utility that allows you to view and disable software you don't need or that you suspect of causing problems.
My favorite choice is a free utility called ShellExView:
www.nirsoft.net/utils/shexview.html
It's got lots of options and provides an insane amount of technical detail on individual extensions. Its most important features are the ability to disable "context menus" (those extra options like "open in PurplePaint" that appear when you right-click an item), and "shell folders" (virtual folders, like a folder that shows you items synced from your mobile device).
To deep-six a problematic shell extension, install and launch ShellExView. On first glance, you probably have way too much information. There are individual columns, for instance, that show in which context you'll see a shell extension be active. Zero in on the columns that will help you troubleshoot:
- Trust Microsoft: I know; that's not usually the advice you get. But let's assume it's not a Microsoft shell extension causing trouble - a safe bet, as most of these are used by Windows. Click the Microsoft column on the far right, and view the third-party software only. (It's also highlighted in pink.)
- Think Recent: If your problem surfaced recently, try selecting the "File Created Time" column. This will allow problematic shell extensions to pop to the top of the list. You might also try the "CLSID Modified Time," which shows when changes were made to the registry.
- Clean House: If a Context Menu item is just getting on your nerves, select the "Type" column and scroll down to "Context Menu." You can then disable individual items you don't want to appear - and you can always change your mind and go back later.
Once you've zeroed in on items you want to turn off, right-click the item in question and choose "Disable Selected Items." You can disable all sorts of menu items that don't really matter to you. You can even turn off the "send to" service, which is often a culprit in slow performance of this menu.
That's all there is to it! This can make a big difference in Explorer stability. Naturally, now that you know how to use ShellExView, you can keep an eye on these kinds of issues when you install software, rather than waiting for a problem to appear down the road.
With five or ten minutes spent on troubleshooting these problems, you can get on with music making
Get Better Context Menus
Want to remodel the Context Menu completely? Look to the free FileMenu Tools:
www.lopesoft.com/en/fmtools/info.html
It does three things:
- Adds New Stuff: The "Commands of FileMenu Tools" pane actually adds a bunch of options to the Context Menu. By default, the program goes a little hog-wild - most of you probably don't really need a Context Menu item to "Register DLL," for instance. My advice: disable all of its options, then pick out the ones you might need (like "Copy Path"). Or if you don't want extra features, you can ignore this pane entirely. Uncheck Options > Enable FileMenu Tools and you can turn this bit off.
- 2. Customize "Send To...": Under "Send To..." menu, you can edit all those options on this submenu.
- 3. Disable Unneeded Menu Items: Via the "Commands of other applications" pane, you can disable individual context menu items. You can do that with ShellExView, too, but the difference here is that the options are grouped by the context in which they appear, by folder, which is a lot easier to navigate. So, for instance, I never use the Briefcase - I can turn off that menu under "All file types > BriefcaseMenu."
FileMenu Tools works under Vista as well as earlier Windows versions. You'll just need to go into the Start menu, right click on the program item, and choose "Run as Administrator."
Just disabling menu items won't necessarily boost performance or stability, but it could make you dread right-clicking in Explorer less, and that could boost your personal performance!
Stop Network Bottlenecks
The other source I find of sluggish performance in Explorer (and, incidentally, file systems on other operating systems) is network drives. By default, once you've connected to a network drive, the machine will try to reconnect to that drive each time you start up. If the drive is gone (like a laptop you just put to sleep, or an office server), or the whole network, you'll get some lag while your machine looks for it. Vista SP1 is actually better in my experience than previous versions of Windows and some other operating systems, but it's still a decent idea to disconnect from these drives so you aren't waiting around.
Under Vista, you'll get a pop-up if the OS can't find a drive. From there, you can look at drives mapped to the machine; just right-click one and disconnect. If you forget to do that, though, you can now go to Start > Network, then select the menu item Tools > Disconnect Network Drive (hold down the Alt key if the menu isn't visible).
Another thing to do is to simply disable network connections when you're not using them. Under Vista, click Start > Network, choose Network and Sharing Center from the toolbar, then Manage network connections from the Tasks bar on the left-hand side. Right-click a connection to disable it.
If you're not finding this is a problem, you can leave all of these network options alone. But if you're seeing lags on startup or when you choose Computer and you've got network-mapped drives, these strategies can be worth a try.
The good news is, with five or ten minutes spent on troubleshooting these problems, you can get on with
music making instead of troubleshooting. Desktop operating systems do have a lot of power, and they
give us a lot of freedom - sometimes including the freedom of developers to mess up our machines.
But armed with some knowledge, you can maintain that power and freedom without the annoyances.
Copyright 2008 by Peter Kirn and licensed to Rain Recording. All rights reserved.
Author
Composer, visualist, and author Peter Kirn has come from a classically-trained music background to
interactive digital music and visuals. His work ranges from collaborations with modern dance to live
audiovisual sets in clubs. He's the author of Real World Digital Audio (Peachpit) and runs the sites
createdigitalmusic.com and createdigitalmotion.com.