Active desktop recovery woes


  • Since we upgraded our domain machines to IE 7, Active desktop recovery has been rearing it's head every 5 minutes on numerous machines.

    We apply our companies wallpaper using group policy, which has never caused a problem until IE7. Suddenly nearly all my users are randomly getting the active desktop recovery page appear as their background. There doesn't seem to be any pattern to it. Some users will get it every day, others never. They all use identical machines.

    So far, I've found the reg key that seems to be causing it - it's quite well burried and can only be changed remotely by a network admin (since registry editing is disabled for normal users and the key lies in the HKEY_CURRENT_USER tree).

    The actual key from a machine that suffered the problem is as follows (from a remote registry perspective):

    Code Snippet

    [HKEY_USERS\S-1-5-21-753330934-4258766762-486604758-1958\Software\Microsoft\Internet Explorer\Desktop\Components]


    That is what the key should look like when fixed (i.e. normal). For some reason - one which is completely inexplicable to me - the value of DeskHtmlVersion changes itself to 272, which will then cause the ADR wallpaper to reappear.

    The "restore my active desktop" button simply generates a script error pointing at desktop.htt in the users app data folder and does nothing else. The only way to restore the user's normal background is to modify that registry key (or build them a new computer!).

    Active desktop isn't actually used. Our company background is a small JPEG.

    I need to find a permanent fix for this as it's driving me, my users and our bosses nuts! It reflects badly on us as a business and an IT dept when our clients see our staff with this as their background.

    Friday, October 10, 2008 1:11 PM


All replies

  • Surely I'm not the only person with this problem??

    I've seen it posted loads doing a quick google search!
    Monday, October 13, 2008 1:25 PM
  • Yeah, we've had this problem too - fixing the registry key you mentioned didn't do anything for us and replacing the .htt file with a default don't fix the problem. It's really frustrating... [gripe] i would love it if .jpg desktops could be set with GPO without needing Active Desktop.... [/gripe]
    Thursday, October 16, 2008 2:49 AM
  • Is it possible that it might be a group policy setting? The registry fix does not appear to be the answer that is for sure


    Wednesday, November 05, 2008 3:41 PM
  • We have this problem too. The registry fix works but the problem sometimes shows up again.. We use GPO but I don't think its related to the problem since all the users would have this issue as well..


    BTW you can use these lines to make a vbs file that you can push using a prog like Kaseya or simply have the user run it and then right click on the desktop and select REfresh.


    HKEY_CURRENT_USER = &H80000001
    strComputer = "."
    Set objReg = GetObject("winmgmts:\\" & strComputer & "\root\defaultTongue TiedtdRegProv")
    strKeyPath = "Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components"
    strValue = "0"
    ValueName = "DeskHtmlVersion"
    objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, ValueName, strValue


    Save this to a file; Ex. ActiveDesktop fix.vbs


    Tuesday, November 25, 2008 9:13 PM
  • We have the same problem in IE7 and also use GPO for Wallpaper and some other Restrictions but this solution didn't work.
    We found a solution that worked but that doesn't feel well to implement on all users.
    Change reg key: HKEY_CLASSES_ROOT\CLSID\{64AB4BB7-111E-11d1-8F79-00C04FC2FBE1}\InProcServer­32

    To the same value as IE6 had.
    Restart machine and recovery button worked again as it should without script error.
    More information:

    Anyone who has a MS recommended solution?


    Tuesday, December 30, 2008 9:49 AM
  • I believe I am experiencing this too, although with IE8.  The setup here (at my workplace) is that they set our wallpaper with Group Policy (as discussed above).  I have a fairly free hand, since I do have local Admin rights (although this seems to get overridden by GP - am not a GP expert, but I imagine this is expected)

    Anyway, quite some time after installing IE8 it went wrong.  I admit I was messing around (the GP sets the JPG of your background, but I discovered they haven't locked that file, so you can replace it with another file of the same name) and IE8 isn't rolled out by our IT but I had changed this file numerous times before without incident.

    Anyway, changing the registry key DeskHtmlVersion, then Refreshing the Desktop as described above seems to have worked for me.  Will post again if it doesn't last.

    Thanks for your help!
    Wednesday, January 14, 2009 5:58 PM
  • OK, this is how JPG desktop files actually work in Windows XP.

    The reality is the file is the JPG converted into a BMP file that is copied into the local copy of the profile and called wallpaper.bmp.  This is why there is both a Wallpaper path (HKCU_Control Panel_Desktop) and a Converted Wallpaper path.

    The reason I know this is often I will login to a machine in my domain and there will be no desktop background. When I go into Documents and Settings my profile is being loaded as myusername.domain because there is a cached copy of myusername . In the registry my Wallpaper path is still pointing to the myusername location and therefore there is no wallpaper.

    Active Desktop is required to show JPG wallpaper and MUST be enabled. It is usually a Domain setting.

    If Application Data is redirected and IE 7 is installed then the JPG wallpaper will NOT show if it is on a server drive UNLESS the domain is added to the Trusted Sites.  I don't understand that bug but it is there none the less.
    add file://servername into the "trusted sites" zone. (This can be done via Group Policies)

    Vista fixes this issue. There is no bmp in Vista which is nice.

    Sunday, January 18, 2009 6:58 AM
  • I had the same problem earlier.  I re-installed XP Pro from Windsows rather than the boot -- cured the problem.

    I was looking for the graphic file for the Active Desktop Recovery Background to delete it, but was unable to find it.  Does anyone know the filename, in case it happens again, so I don't have to waste another hour?
    Sunday, August 16, 2009 9:42 PM
  • Another solution we have found is to simply flatten the profile.

    Admitedly this is a bit of a sledgehammer and nut situation, as we have to back the profile up, delete it on the local PC and the server where the roaming profile is stored, log on to recreate it and add the favourites and desktop items back from the backup.

    It would be really nice if there were a simple registry fix.......

    • Proposed as answer by Tim100873 Friday, September 18, 2009 12:49 PM
    Monday, August 24, 2009 11:16 AM
  • This might not be the best way, but i always set the ForceActiveDirectoryOn dword value to 0 wherever it appears then delete the value.  Log out and the silly active directory screen will be gone.  Seems occasionaly the value will be added again after users open certain attachments in outlook.
    Wednesday, December 02, 2009 2:57 AM
  • We have a similar problem here. The machines where the active desktop recovery appears seem to have 1 thing in common. These machines all have a new folder in the registry "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\".
    A quick fix to our problem is deleting this folder from the registry and hitting F5 on the desktop, there is no need to log out.

    I have been looking for vb scripts on the net to help me make a more permanent solution. The idea is to integrate this script into the logon script, delete the folder "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\" and refresh the desktop. This is what I have so far, I cannot take credit for this code as these are parts of code I have found on other forums, this code goes into a .vbs file.

    Option Explicit
    Dim objShell, strRoot, strModify, strDelete
    strRoot = "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\"
    ' Create the Shell object
    Set objShell = CreateObject("WScript.Shell")
    strModify = objShell.RegDelete(strRoot)
    WScript.Echo "Check " & strRoot
    strModify = null

    Dim WSHShell, strDesktop
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    strDesktop = WSHShell.SpecialFolders("Desktop")
    WSHShell.AppActivate strDesktop
    WSHShell.SendKeys "{F5}"

    The problem I am having now is that I get an error if the folder "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\" does not exist in the registry (this is the case with every PC that does not have the restore active desktop problem), so I would like to have an IF structure in the first part of the code but I am not that experienced in vb code. Is there anyone who thinks this is a good solution and has the know-how to edit this code so it won't give the error if the folder does not exist?

    • Proposed as answer by Kamikaze72 Friday, February 19, 2010 9:07 AM
    Friday, February 19, 2010 8:45 AM
  • Dear  Kamikaze72


    You have to add this line on top

    On Error Resume Next

    Thursday, April 08, 2010 4:16 AM
  • My IE8 Fix:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\

    Set DeskHtmlVersion to 0

    Refresh the desktop (F5)

    If this doesn't work

    change these registry keys aswell

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Components\

    Set DeskHtmlVersion to 0

    Refresh the desktop (F5)

    • Proposed as answer by mvs1010 Friday, April 16, 2010 11:14 PM
    Tuesday, April 13, 2010 2:34 AM
  • I did try deleting the registry part but if you restart i will come back again. I don't really want to roll back to IE6.
    Thursday, July 15, 2010 1:32 PM
  • I have only recently started with my cirrent employer and they have been experiencing this same problem "for some time".

    I have tried the solution of changing "[HKEY_USERS\S-1-5-21-753330934-4258766762-486604758-1958\Software\Microsoft\Internet Explorer\Desktop\Components] "DeskHtmlVersion"=dword:00000000" to no effect.

    I then decided to try to recreate the problem on a test PC but found this key is currently set to the "272" value and there isn't any problem at this point of time.

    If someone can post the full folder "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components\" I will try to break and then fix my test PC.  There is a time limit as I may have to place the PC with a user at some time.

    Wednesday, November 24, 2010 12:07 AM
  • I have been having the same issue as everyone else. I use GP to control background on our student computers. All computers with this issue have the following value set in the registry.

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\Scheme "Display"="Safemode"

    If you remove the value data "Safemode" from the key above and refresh the desktop the Active Desktop Recovery goes away and the background comes up without logging off or rebooting. I then created a batch file to run at start up using the same GP Object used for the background image. Here is what I put in the batch file.

    REG ADD "HKCU\Software\Microsoft\Internet Explorer\Desktop\Scheme" /V display /D "" /F

    This will overwrite the Display REG_SZ value every time the user logs on. This is good in case it comes back but a little redundant to have to run it at every log on. Can anyone improve on this or have a better solution?

    • Proposed as answer by Jctrumps Tuesday, December 14, 2010 7:45 PM
    Tuesday, December 14, 2010 7:25 PM
  • Well it's been 2 years and still no word from anyone at Microsoft, so I guess we are on our own.

    I added the regfix I posted on the original post to our startup scripts (which run as system account) which has been our workaround. It's still not a permanent fix as the desktop recovery page still pops up from time to time, although no where near as often as it used to.

    Thursday, January 06, 2011 3:56 PM
  • Indeed Greg

    I think everybody would understand if this was a newly discovered bug, XP is out of mainstream support after all and this is not a security related bug.

    However this bug was discovered many years ago and has been a problem since at least as far back as SP2, maybe further. Microsoft clearly have no interest in fixing this bug and do not care about it, despite it affecting many thousands of users around the world.

    It's just annoying that the button that is supposed to fix the active desktop error is also buggy and doesn't work, requiring a visual basic script hack to reset it manually.

    Tuesday, January 11, 2011 9:17 AM
  • I ran across what you need, but I was searching under the product WinXP sp3. I typed in: 'desktop wallpaper', came up with same as 'transparent desktop icons'. Justin007 has the best response, that covers several ways to fix the problem, including a site to go to for a SnagIt page that prints out what you need to follow. I hope I copied that right. Hope this helps.

    Thursday, May 12, 2011 4:20 AM
  • Sorry the link doesn't seem to work and the site is more about sharing video than troubleshooting Windows problems.
    Thanks, Granville
    Thursday, May 12, 2011 6:01 AM
  • You can also view system files and delte the DESKTOP.HTT from each user's profile on the computer; then let windows rebuild the file to resolve the issue. 
    Thursday, May 19, 2011 10:51 AM
  • and my 2 cents ;-)

    'below code searches for the SID of the current user
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set objAccount = objWMIService.Get _
    ("Win32_UserAccount.Name='" & WshNetwork.UserName & "',Domain='" & WshNetwork.UserDomain & "'")

    'below code changes the value of DeskHtmlVersion to 0 for the SID found in the above code
    const HKEY_USERS = &H80000003
    strComputer = "."
    Set StdOut = WScript.StdOut
    Set oReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = objAccount.SID & "\Software\Microsoft\Internet Explorer\Desktop\SafeMode\Components"
    strValueName = "DeskHtmlVersion"
    dwValue = 0
    oReg.SetDWORDValue HKEY_USERS,strKeyPath,strValueName,dwValue

    • Edited by DecBen Wednesday, February 22, 2012 1:41 PM
    Wednesday, February 22, 2012 1:38 PM
  • Probably too late but here are some possible fixes... Active Desktop Recovery

    Sunday, February 26, 2012 6:59 PM