<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">UPHClean and other profile ramblings</title><subtitle type="html">A blog to discuss UPHClean and profile problems</subtitle><id>http://blogs.technet.com/uphclean/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/uphclean/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-02-28T10:27:00Z</updated><entry><title>New UPHClean beta build</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/10/31/new-uphclean-beta-build.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/10/31/new-uphclean-beta-build.aspx</id><published>2008-11-01T00:27:26Z</published><updated>2008-11-01T00:27:26Z</updated><content type="html">&lt;p&gt;Hi there!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Good news -- I'm releasing an updated beta build today.&amp;#160; It fixes machine hangs and crashes that could occur with build 2.0.48.0.&amp;#160; &lt;/p&gt;  &lt;p&gt;The 32 bit plaform bits are &lt;a href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-build-2-0-49-0-for-32-bit-platform-operating-system.aspx"&gt;here&lt;/a&gt; and for 64 bit platforms &lt;a href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-build-2-0-49-0-beta-for-64-bit-platform-operating-system.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If you find any problem with this build please email the details to &lt;a href="mailto:uphclean@microsoft.com"&gt;uphclean@microsoft.com&lt;/a&gt; or post them here.&lt;/p&gt;  &lt;p&gt;Thank you all for your patience in waiting for updated beta bits.&lt;/p&gt;  &lt;p&gt;Robin&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3145469" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /><category term="2.0" scheme="http://blogs.technet.com/uphclean/archive/tags/2.0/default.aspx" /><category term="beta" scheme="http://blogs.technet.com/uphclean/archive/tags/beta/default.aspx" /></entry><entry><title>Call stack logging: what it is and where does it go?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/07/17/call-stack-logging-what-it-is-and-where-does-it-go.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/07/17/call-stack-logging-what-it-is-and-where-does-it-go.aspx</id><published>2008-07-17T20:26:00Z</published><updated>2008-07-17T20:26:00Z</updated><content type="html">&lt;P&gt;To understand what call stack logging is you must understand how software works internally.&amp;nbsp; Software is put together using small pieces of code.&amp;nbsp; These pieces are called functions.&amp;nbsp; Complex work is done by breaking it down into simpler tasks.&amp;nbsp; A function that performs a complex behavior gets it done by doing some of the work itself and by using functions to do simpler tasks.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When a function uses another function to perform a simpler task it needs to make sure that once the simpler function is done work resumes on the more complex task. To make this happen it saves off where it was.&amp;nbsp; It is saved to an area of memory called the stack.&amp;nbsp; The simpler function may very well also call on other function to perform even simpler tasks.&amp;nbsp; It also needs to save off where work was before it calls on simpler function.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is why the area of memory where this information is saved is called a stack.&amp;nbsp; Just like you would pile dishes on top of each other, the saved information is piled on top of each other.&amp;nbsp; When the simpler function is done to find out where work should resume it picks off the top of the pile.&amp;nbsp; This tells it where to go back to.&amp;nbsp; This repeats when that function is done.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now suppose whenever an action is taken (e.g. retrieving a handle to a registry key) this stack memory is recorded.&amp;nbsp; To do this the simpler task function looks at the stack memory find out where work would resume when it is done.&amp;nbsp; What is being recorded is the address in memory where the instruction is that resumes the more complex work.&amp;nbsp; This is literally just a number between 0 and about 4 billon.&amp;nbsp; Using the earlier example this address could in a function in a printer driver that needs the page size to print on.&amp;nbsp; This process can keep going and look at when the the page size retrieval function that is done where work would resume.&amp;nbsp; This might be function that is responsible for printing.&amp;nbsp; It can keep doing that back all the way to the function that starts the application (some function in a printer spooler).&amp;nbsp; This information (a list of memory addresses) is called a call stack log or call stack for short.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now imagine you decided that retrieving a registry key handle is causing a problem you could inspect the recorded information to determine why the action was taken.&amp;nbsp; This helps in narrowing down what causes the problem.&amp;nbsp; This is especially true today because applications are put together using 100s of thousands of functions from many vendors.&amp;nbsp; Knowing the call stack tells you who initiated the action that causes a problem.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Collection of call stacks is an option in UPHClean v1.6d enabled via the registry setting HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\UPHClean\Parameters\CALLSTACK_LOG to 1.&amp;nbsp; The value is a DWORD but you should find it there if UPHClean has ever been run.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The actual call stack logging is something that is not actually done by UPHClean.&amp;nbsp; You can understand why based on the explanation I gave above: UPHClean is not being called on to perform the action of opening a registry handle.&amp;nbsp; This work is actually by functions that reside in the DLL ADVAPI32.&amp;nbsp; So when you set this option what UPHClean does is set a registry setting (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\LeakTrack).&amp;nbsp; The functions in ADVAPI32 responsible for getting a registry key handle read this value.&amp;nbsp; When the value is set appropriately they collect a call stack whenever they are asked to get a registry key under the user profile hives.&amp;nbsp; Later when the registry keys are release closed it removes the discards the collected call stack information.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When UPHClean is about to process a handle that is leaked by an application for remapping or closure UPHClean checks to see if call stack logging is enabled.&amp;nbsp; If call stack logging is enabled it reads the stack information recorded by ADVAPI32.&amp;nbsp; This information is recorded as a list of memory addresses tha&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is logged in the application event log as an addition to event 1401 or 1201.&amp;nbsp; The readme has an example:&lt;/P&gt;
&lt;P&gt;Event Type:&amp;nbsp;Information&lt;BR&gt;Event Source:&amp;nbsp;UPHClean&lt;BR&gt;Event Category:&amp;nbsp;None&lt;BR&gt;Event ID:&amp;nbsp;1201&lt;BR&gt;Date:&amp;nbsp;&amp;nbsp;10/21/2003&lt;BR&gt;Time:&amp;nbsp;&amp;nbsp;5:17:38 PM&lt;BR&gt;User:&amp;nbsp;&amp;nbsp;RCARONDOM-DC1\u1&lt;BR&gt;Computer:&amp;nbsp;RCARONDOM-DC1&lt;BR&gt;Description:&lt;BR&gt;The following handles in user profile hive RCARONDOM-DC1\u1&lt;BR&gt;(S-1-5-21-3230802392-3390281410-1560515013-1307) have been closed because they&lt;BR&gt;were preventing the profile from unloading successfully:&lt;BR&gt;&amp;nbsp;&lt;BR&gt;profleak.exe (2604)&lt;BR&gt;&amp;nbsp; HKCU (0x80)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x77dfc200 ADVAPI32!TrackObject+0xe&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00412112 profleak!&amp;lt;no symbol&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x77db571b ADVAPI32!ScSvcctrlThreadA+0xe&lt;BR&gt;&amp;nbsp; HKCU\Software\Policies (0x88)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x77dfc200 ADVAPI32!TrackObject+0xe&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x77da1949 ADVAPI32!RegOpenKeyExW+0x10b&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0041350c profleak!&amp;lt;no symbol&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00412112 profleak!&amp;lt;no symbol&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x77db571b ADVAPI32!ScSvcctrlThreadA+0xe&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This this call stack data indicates that the user profile hive handle leak is caused by profleak.&amp;nbsp; Profleak is an application used to causes a user profile hive handle leak.&amp;nbsp;&amp;nbsp; It is not true that in all cases the listed module/DLL listed after ADVAPI32 is the culprit.&amp;nbsp; Interpreting this information requires an experienced developer or someone who can debug.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3090245" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /></entry><entry><title>When will UPHClean v2.0 be done?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/03/06/when-will-uphclean-v2-0-be-done.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/03/06/when-will-uphclean-v2-0-be-done.aspx</id><published>2008-03-07T00:58:00Z</published><updated>2008-03-07T00:58:00Z</updated><content type="html">&lt;P&gt;UPHClean v2.0 has been in beta for an extended period.&amp;nbsp; Over 3,000 people have received the beta bits.&amp;nbsp; There have been enough reports of computers hanging and crashing to prevent release.&amp;nbsp; Further beta builds are needed to insure that those remaining problems are resolved.&amp;nbsp; Once ship quality is achieved a release date will be selected.&amp;nbsp; Based on my current work load and experience with past projects I expect that will at least 6 more months before final release.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2969604" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /><category term="2.0" scheme="http://blogs.technet.com/uphclean/archive/tags/2.0/default.aspx" /><category term="beta" scheme="http://blogs.technet.com/uphclean/archive/tags/beta/default.aspx" /></entry><entry><title>Group Policy Administrative Template To Manage 2.0 Beta Settings</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/03/04/group-policy-administrative-template-to-manage-2-0-beta-settings.aspx" /><link rel="enclosure" type="text/plain" length="1721" href="http://blogs.technet.com/uphclean/attachment/2961022.ashx" /><id>http://blogs.technet.com/uphclean/archive/2008/03/04/group-policy-administrative-template-to-manage-2-0-beta-settings.aspx</id><published>2008-03-05T00:18:00Z</published><updated>2008-03-05T00:18:00Z</updated><content type="html">&lt;P&gt;Here is an administrative template to make it easier to manage the file remapping settings available with UPHClean v2.0.&lt;/P&gt;
&lt;P&gt;Thank you Kevin Henriksen for this contribution.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2961022" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /><category term="2.0" scheme="http://blogs.technet.com/uphclean/archive/tags/2.0/default.aspx" /><category term="beta" scheme="http://blogs.technet.com/uphclean/archive/tags/beta/default.aspx" /></entry><entry><title>About UPHClean v2.0 events 1630, 1631 and 1632</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/03/03/about-uphclean-v2-0-events-1630-1631-and-1632.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/03/03/about-uphclean-v2-0-events-1630-1631-and-1632.aspx</id><published>2008-03-03T20:38:00Z</published><updated>2008-03-03T20:38:00Z</updated><content type="html">&lt;P&gt;UPHClean v2.0 tries to assist when the security descriptor prevents access to a file or directory.&amp;nbsp; This often prevents the system from completing the profile reconciliation process.&amp;nbsp; This can happen because the inherited permissions are set incorrectly or possibly because the user sets to prevent administrative and/or system access.&lt;/P&gt;
&lt;P&gt;UPHClean attempts to deal with that by changing the security descriptor.&amp;nbsp; This is done for access to file or directory access that result in access denied.&amp;nbsp; In the case where the file or directory is local it is likely that UPHClean will be able to change the security descriptor since it can use the take ownership right to do so.&amp;nbsp; In the remote case it is possible that UPHClean will fail to change the permissions.&amp;nbsp; So this correction UPHClean may not always succeed.&lt;/P&gt;
&lt;P&gt;Here are relevant events that can occur:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Event 1630: Access to %1 was granted after updating the security descriptor of the file. 
&lt;UL&gt;
&lt;LI&gt;This event indicates that UPHClean changed the security descriptor for the file/directory named %1 and was successful.&amp;nbsp; Access permissions necessary to proceed with profile work were granted.&amp;nbsp; Access to the file or directory was successful. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Event&amp;nbsp; 1631: Access to %1 failed after updating the security descriptor of the file. 
&lt;UL&gt;
&lt;LI&gt;This event indicates that UPHClean changed the security descriptor and was successful.&amp;nbsp; Even though UPHClean granted the access permissions necessary to perform the profile work the requested access was denied.&amp;nbsp; This can happen if the source of the access denied is not security descriptor permission related.&amp;nbsp; The interference could be coming from a background process (i.e. a virus scanner) or other unknown source. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;Event 1632: Security descriptor for file %1 could not be updated.&amp;nbsp; Error %2 %3. 
&lt;UL&gt;
&lt;LI&gt;This event indicates that UPHClean failed in its attempt to change the security descriptor.&amp;nbsp; %2 is replaced with the text of the error and %3 is the error number.&amp;nbsp; Access to the file or directory failed. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Note that the name logged with the event may contain an unfamiliar drive letter.&amp;nbsp; This drive letter represents the roaming profile location.&amp;nbsp; It exists only during the profile reconciliation process.&lt;/P&gt;
&lt;P&gt;These events are logged so that you can know that UPHClean took these actions.&amp;nbsp; This is critical if auditing.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;If the user profile is reconciling properly you can ignore these.&amp;nbsp; If the profile is not reconciling properly and you are logging events 1631 or 1632 you should review the security descriptor hierarchy to insure that the permissions are as intended and allow system/administrative access.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2955602" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author></entry><entry><title>UPHClean v2.0 beta</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/02/28/uphclean-v2-0-beta.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/02/28/uphclean-v2-0-beta.aspx</id><published>2008-02-28T22:39:00Z</published><updated>2008-02-28T22:39:00Z</updated><content type="html">&lt;PSO you are interested in trying out the UPHClean v2.0 beta?&amp;nbsp;&amp;nbsp; Very good that is what I am offering today!&lt; P&gt;
&lt;P&gt;So you want to try out the UPHClean v2.0 beta?&amp;nbsp; Very good because that is what this post is about!&lt;/P&gt;
&lt;P&gt;The current beta build installs on Windows 2000, Windows XP and Windows Server 2003. A future build will install on Windows Vista and Windows Server 2008.&lt;BR&gt;&lt;BR&gt;To get the full benefit of UPHClean you should set the registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UPHClean\Parameters\SHARING_VIOLATION_REMAP to 1. This setting allows UPHClean to act on problems caused by application holding on to files after logoff. When this happens you may see profile folders left behind and/or creation of profile folders with names username.domain, username.000, username.001, etc.&amp;nbsp; Do this after installation is done.&lt;BR&gt;&lt;BR&gt;Remember it is beta code.&amp;nbsp; Others who have tested it have reported &lt;STRONG&gt;&lt;EM&gt;crashes&lt;/EM&gt;&lt;/STRONG&gt; or &lt;EM&gt;&lt;STRONG&gt;hangs&lt;/STRONG&gt;&lt;/EM&gt;. It has been rare but keep that in mind when you decide what testing to do with it. UPHClean v2.0 will be released once the current build does not cause crashing/hanging. I will announce later beta bits through this blog.&lt;/P&gt;&lt;PYOU class="" the can find beta bits for 32 bit platforms &lt;A href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-for-32-bit-platform-operating-system.aspx" mce_href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-for-32-bit-platform-operating-system.aspx"&gt;The 32 bit plaform bits are &lt;A class="" title=here href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-for-32-bit-platform-operating-system.aspx" mce_href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-for-32-bit-platform-operating-system.aspx"&gt;here&lt;/A&gt; and for 64 bit platforms &lt;A class="" href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-for-x64.aspx" mce_href="http://blogs.technet.com/uphclean/pages/uphclean-v2-0-beta-for-x64.aspx"&gt;here&lt;/A&gt;. 
&lt;P&gt;I appreciate any feedback you have on this release.&lt;BR style="mso-special-character: line-break"&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2940870" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /><category term="2.0" scheme="http://blogs.technet.com/uphclean/archive/tags/2.0/default.aspx" /><category term="beta" scheme="http://blogs.technet.com/uphclean/archive/tags/beta/default.aspx" /></entry><entry><title>UPHClean v2.0</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/02/28/uphclean-v2-0.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/02/28/uphclean-v2-0.aspx</id><published>2008-02-28T21:18:00Z</published><updated>2008-02-28T21:18:00Z</updated><content type="html">&lt;P&gt;UPHClean v2.0 is a new version that tries to help with the following scenarios:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Timing fix&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In v1.6 there is a timing issue with where the profile unload process stopped trying to unload the user profile hive before UPHClean finished&amp;nbsp;its work. UPHClean finished its release of user profile hive handles but Winlogon had already proceeded without unloading the profile causing it to report a profile hive unload failure.&amp;nbsp; This is now addressed by having Winlogon waiting until UPHClean has finished all of its work before proceeding.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Open file handles&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Apart open registry handles that UPHClean v1.6 deals with&amp;nbsp;open file handles to the user profile can have a bad influence on the profile load and unload process. Open references to profile files prevent the profile load and unload process from reconciling (copying files) from and to the roaming profile location.&amp;nbsp; This prevents the deletion of the locally cached profile.&amp;nbsp; Other symptoms of this is if the same user logs in again he or she gets a new profile with a name like username.000, username.001 etc. &lt;/P&gt;
&lt;P&gt;UPHClean v2.0 takes care of these by releasing the handle to user profile files when the profile is unloaded.&amp;nbsp; This is not without risk.&amp;nbsp; Since UPHClean removes access to files or directories data that was cached by the application for the file is lost.&amp;nbsp; This could cause the process to fail because it cannot read from the file. During testing this has not been found to be true but there is still a chance that it could happen. This is the reason why the file handle remap feature is disabled by default.&lt;/P&gt;
&lt;P&gt;To enable the feature you have to set the following registry key:&lt;/P&gt;
&lt;P&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UPHClean\Parameters&lt;BR&gt;&lt;STRONG&gt;SHARING_VIOLATION_REMAP&lt;/STRONG&gt; REG_DWORD 0X00000001&lt;/P&gt;
&lt;P&gt;Without enabling the remapping feature UPHClean automatically detects sharing violation during the user logoff and retries the failed operation for a small amount of time. You can control the amount of time using the &lt;STRONG&gt;SHARING_VIOLATION_DELAY&lt;/STRONG&gt; value.&amp;nbsp;This value is specified in millisecond and has a default value of 1000 millisecond.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;File permissions&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In some cases a program might change file permissions or creates a new file/folder within the profile but incorrect permissions.&amp;nbsp; This may leave the profile load/unload process unable to copy it or delete it. To resolve the issue you have to take ownership first before you can delete the file or folder. UPHClean takes care of those situations.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;Real world problems&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Here are actual scenarios that UPHClean v2.0 resolves:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;VMware hgfs.dat &lt;BR&gt;VMware creates the hgfs.dat file in profile folder for the first user that logs in and keeps it open. When using roaming profiles you get a problem with that. (read VMware &lt;A href="http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1317" target=_blank mce_href="http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1317"&gt;FAQ1317&lt;/A&gt; for a solution)&lt;/LI&gt;
&lt;LI&gt;SUN Java (JRE)&lt;BR&gt;In some cases SUN Java creates a folder called hsperfdata&amp;lt;username&amp;gt; with file permissions only set to the user and can not be removed by the system without taking ownership. SUN say’s this is by design (bug id &lt;A href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5042659" target=_blank mce_href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5042659"&gt;5042659&lt;/A&gt;) 
&lt;LI&gt;Microsoft Internet explorer cookies and favorites&lt;BR&gt;Favorites and cookie files sometimes excide more than 255 chars and can only be deleted through the command line 
&lt;LI&gt;Also suspects for open file handles causing sharing violation &lt;BR&gt;SAP SapGui (SapWorkDir), Imprivata SSO, Indexing Software, Virus scanner etc.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It will be supported on Windows 2000 (all versions), Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008.&amp;nbsp; It will be available for 32 bit and 64 bit platforms.&amp;nbsp; There are&amp;nbsp;beta bit available for 32 and 64 bit platforms for all Windows 2000, Windows XP, and Windows Server 2003.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2940736" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /><category term="about" scheme="http://blogs.technet.com/uphclean/archive/tags/about/default.aspx" /><category term="2.0" scheme="http://blogs.technet.com/uphclean/archive/tags/2.0/default.aspx" /></entry><entry><title>Windows Vista, Windows Server 2008 and UPHClean</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/02/28/windows-vista-windows-server-2008-and-uphclean.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/02/28/windows-vista-windows-server-2008-and-uphclean.aspx</id><published>2008-02-28T20:32:00Z</published><updated>2008-02-28T20:32:00Z</updated><content type="html">&lt;P&gt;UPHClean&amp;nbsp;fails to install on Windows Vista and Windows Server 2008.&amp;nbsp; This happens because the User Profile service included with those operating system includes the functionality of UPHClean v1.6 built in.&amp;nbsp; There is no point in having UPHClean perform its monitoring work when the profile service does all necessary work to prevent user hive fails from occuring.&lt;/P&gt;
&lt;P&gt;Whereas UPHClean logs event 1401 to indicate that it took action to resolve a problem that would have prevent a user profile hive from unloading, the User Profile service logs event 1530.&amp;nbsp; It looks like this:&lt;/P&gt;
&lt;P&gt;Log Name: Application&lt;BR&gt;Source: Microsoft-Windows-User Profiles Service&lt;BR&gt;Date: 2/28/2008 2:56:52 PM&lt;BR&gt;Event ID: 1530&lt;BR&gt;Task Category: None&lt;BR&gt;Level: Warning&lt;BR&gt;Keywords: Classic&lt;BR&gt;User: SYSTEM&lt;BR&gt;Computer: RCARON-PC&lt;BR&gt;Description:&lt;BR&gt;Windows detected your registry file is still in use by other applications or&lt;BR&gt;services. The file will be unloaded now. The applications or services that&lt;BR&gt;hold your registry file may not function properly afterwards.&lt;BR&gt;&lt;BR&gt;DETAIL -&lt;BR&gt;1 user registry handles leaked from&lt;BR&gt;\Registry\User\S-1-5-21-2641105361-2081720548-7543625-1000:&lt;BR&gt;Process 896 (\Device\HarddiskVolume1\Windows\System32\svchost. exe) has&lt;BR&gt;opened key \REGISTRY\USER\S-1-5-21-2641105361-2081720548-7543625-1000&lt;/P&gt;
&lt;P&gt;This event is letting you know that when the profile was being unloaded svchost.exe with process id (PID) 896 had a registry key handle to the profile hive for the user with SID S-1-5-21-2641105361-2081720548-7543625-1000.&lt;/P&gt;
&lt;P&gt;The event is there so you know that the system took action.&amp;nbsp; That way you could know that if the application fails in some way you can investigate whether this action might be involved in the failure.&amp;nbsp; Generally my advice for this (as for UPHClean event 1401) is to ignore it.&lt;/P&gt;
&lt;P&gt;I am working on&amp;nbsp;UPHClean v2.0.&amp;nbsp; This version will address many more user profile problem scenarios.&amp;nbsp; This version will likely install on Windows Vista and Windows Server 2008.&amp;nbsp; It is in beta but currently the beta bits do not yet install on those operating systems.&lt;/P&gt;
&lt;P&gt;Robin.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2940670" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="server" scheme="http://blogs.technet.com/uphclean/archive/tags/server/default.aspx" /><category term="2008" scheme="http://blogs.technet.com/uphclean/archive/tags/2008/default.aspx" /><category term="vista" scheme="http://blogs.technet.com/uphclean/archive/tags/vista/default.aspx" /><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /></entry><entry><title>Hi</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/uphclean/archive/2008/02/28/hi.aspx" /><id>http://blogs.technet.com/uphclean/archive/2008/02/28/hi.aspx</id><published>2008-02-28T18:27:00Z</published><updated>2008-02-28T18:27:00Z</updated><content type="html">&lt;P&gt;I am Robin Caron.&amp;nbsp; I have worked for 8 years as an escalation engineer for Microsoft supporting directory services technologies for the Windows platform.&lt;/P&gt;
&lt;P&gt;I am starting this blog as a way to distribute information about UPHClean and to&amp;nbsp;offer some ramblings&amp;nbsp;about Windows user profiles.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;UPHClean is a tool that I wrote about 5 years ago to help resolve the problem of user profile hive not unloading.&amp;nbsp; When user profile hives do not unload you get a variety of problems including slow logoff (on Windows 2000), no reconciliation of roaming profiles, possible kernel memory exhaustion and a variety of error events logged in the application log.&amp;nbsp; UPHClean helps this scenario.&amp;nbsp; You can get UPHClean from &lt;A class="" title=here href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1B286E6D-8912-4E18-B570-42470E2F3582" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1B286E6D-8912-4E18-B570-42470E2F3582"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;UPHClean was successful beyond my wildest dream (over 3 million downloads in less than 3 years).&amp;nbsp; I worked with the profile team to get its functionality integrated into the operating system.&amp;nbsp; This is now available in Windows Vista and Windows Server 2008 in the User Profile service.&lt;/P&gt;
&lt;P&gt;I plan on telling you more about how profiles work and how UPHClean attempts to help with problems that occur with them.&amp;nbsp;I'll also discuss problem scenarios future versions of UPHClean will attempt to help with.&lt;/P&gt;
&lt;P&gt;Do not hesitate to give your feedback about what types of information about profiles/UPHClean you would like to see.&amp;nbsp; You can either leave a comment here or send email to &lt;A href="mailto:uphclean@microsoft.com" mce_href="mailto:uphclean@microsoft.com"&gt;uphclean@microsoft.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Robin.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2940493" width="1" height="1"&gt;</content><author><name>rcaron</name><uri>http://blogs.technet.com/members/rcaron.aspx</uri></author><category term="uphclean" scheme="http://blogs.technet.com/uphclean/archive/tags/uphclean/default.aspx" /><category term="about" scheme="http://blogs.technet.com/uphclean/archive/tags/about/default.aspx" /><category term="intro" scheme="http://blogs.technet.com/uphclean/archive/tags/intro/default.aspx" /></entry></feed>