Subscribe to Windows IT Pro

 

Get Newsletters

  • Get the Latest News
  • Product Updates
  • Helpful Tricks
  • Productivity Tips

Subscribe Now!

March 27, 2006 12:00 AM

UPHClean Provides Faster Logoffs For All

Windows IT Pro
InstantDoc ID #49797
Rating: (1)

Once in a while, a particular Windows feature will irritate me to the point at which I'll just give up and just stop using it. I hate to admit defeat, but I've only got so much time. But then, occasionally, Microsoft will release a useful fix for one of those annoying features. For example, in Windows NT 3.1, setting up the client side of home directories was infuriating, requiring a ton of work, and after a while I just didn't bother setting up home directories for some users. But, seven years after the initial pain, Windows 2000 fixed home directories, and now I use them all the time.

Another annoyance—roaming profiles that don't get updated on logoff—has been around since, if memory serves, 1993. Here's how the problem manifests itself: When you try to log off, you see a Saving Settings message on your screen for an eternity, and finally you get a dialog box that tells you the system wasn't able to "release a handle to your profile" or "unload a user hive." (The dialog box's text varies from NT 3.1 to Windows Server 2003.) The first result is that your roaming profile doesn't get updated on its server, and—so that you can update your profile—you get to perform the happy task of removing one program or service after another on your workstation until you find the one that's causing the problem. The second result is that after you've gone through this scenario a few times, you give up on roaming profiles. And that's a shame, because if managed correctly, roaming profiles are wonderful.

I have good news for you: Microsoft has quietly released a service that solves the problem, and you can install it on your NT 4.0 or later workstation. (You can also install it on your server, if you're in the habit of using a roaming profile account to log on to servers.) The service is called User Profile Hive Cleanup, and you can find it at the Microsoft Download Center. Search for "UPHClean" to find download links for the service's readme.txt file, as well as the program itself, UPHClean-setup.msi. The program link kicks off an installation wizard, asking you to accept a software license and choose an installation location, and UPHClean is installed with the program name uphclean.exe—good to know should you ever have to stop or start the service from the command line. Typing

net stop uphclean

is much easier than typing

net stop "user profile hive cleanup"

What will you see when the service runs? Hopefully, you'll see nothing. The user hive is simply the collection of user-specific settings in the HKEY_CURRENT_USER registry key. All that data is saved in a file called ntuser.dat, which you might have noticed in your profile. This file is otherwise known as the user hive file. As you work on your system, your computer looks for its registry settings not in ntuser.dat but instead in an image of ntuser.dat that's been copied into your system's RAM.

Programs that must read parts of your registry do so by asking the OS for a "handle" (in programmer parlance). As long as a section of the registry has a handle "connected" to it—or, more correctly, "has a handle open on it"—that part of the registry is considered to be in flux, and the OS doesn't want to write that data out until it's settled down. As you work on your computer, many applications have open handles to your registry. But when you close an app, any handles it has left open are summarily closed. A normal logoff, then, waits for all of your apps to close, releasing their handles on the registry. After there are no more open handles in HKEY_CURRENT_USER, it's okay for the logoff code to write the current data in the hive to ntuser.dat, and then you're logged of. But sometimes handles stay open, and so the logoff process waits, and waits, and waits—and so do you. Eventually the logoff process gives up (e.g., "times out") and just skips writing out ntuser.dat. In such situations, you might lose settings, and—most noticeably—you had to waste a few minutes of your life waiting for a computer.

So, how do situations occur in which all your apps are closed but handles remain open? Because some badly written apps—almost always services, which run all the time and don't stop when you log off—open handles on your user hive. The apps shouldn't do that, but—again—it can happen with bad coding.

UPHClean has a simple answer for that. As your system tries to log off, UPHClean looks for handles to your user hive that are held by services. It then remaps those handles from locations in your user hive to the user hive for a user called Default User, which is the user who is logged on when no one is logged on. Your registry is freed, ntuser.dat gets written, and you're quickly logged off.

That's a neat trick, and it's just the start. UPHClean will create a list of offending applications for you so that you can chastise their creators. You can also create lists of apps not to remap. So if your logoffs are a bit slow, give UPHClean a try!

(As I write this, I can see one fly in the ointment. Unfortunately, the User Profile Hive Cleanup service works only on 32-bit versions of Windows. A 64-bit version might appear eventually, perhaps in early summer.)

Related Content:

ARTICLE TOOLS

Comments
  • aaron
    5 years ago
    Nov 18, 2007

    It's more than a year since this article was written and from what I can tell, a 64 bit version of this application has yet to be available. Are there any alternatives?

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

White Papers

Get your Windows 7 deployment off to the right start by implementing PC lockdown. A locked-down environment is easier and cheaper to support since users are less likely to make unnecessary changes to the core system configuration - read more here!

Essential Guides

Is your iSCSI "lossy"? The reality is that most off-the-shelf Ethernet hardware deployed for iSCSI can lose packets, resulting in slow performance or application downtime. Learn how to assess your current iSCSI infrastructure and engineer an advanced iSCSI SAN infrastructure.

Web Seminars

What's the best way to keep your network safe from malware? In this web seminar, security expert Greg Shields suggests an alternative method to the traditional blacklisting approach that is common with anti-virus and anti-malware solutions.

eLearning Series

We bring the experts direct to you to share their real-world perspective and expertise. During each event, three sessions stream in real time, so you can learn, ask questions, and get solutions.
Upcoming event: Getting the Most with Exchange 2010 with Paul Robichaux

Subscribe to Windows IT Pro!

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.