Monday, February 17, 2014

Sysprep fails when Internet Explorer 10 is installed

Last days I was building a Windows 7 reference image with some applications and updates in it. You can say that's not a best practice and that's right for sure. But because of fast deployment reasons sometimes this is the case. In my situation I installed Windows 7 x64, Office 2010 x86, DotNet Framework, Internet Explorer 10 and 200+ Windows/Office updates. That way the reference image can be deployed with default applications and updates in it already.
 
During image creation however there was something going wrong badly. Within ConfigMgr nothing seems to go wrong, but when deploying the image the computername wasn't changed and domain join wasn't done. I ended up with an image where the default Administrator account were disabled.
 
In the logfiles (smsts.log, setupact.log, setuperr.log) the following error was displayed, at the end of ConfigMgr task sequence: 
 
[0x0f0085] SYSPRP LaunchDll:Could not load DLL C:\WINDOWS\SysWOW64\iesysprep.dll[gle=0x000000c1]
[0x0f0070] SYSPRP RunExternalDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 193[gle=0x000000c1]
[0x0f00a8] SYSPRP WinMain:Hit failure while processing sysprep cleanup providers; hr = 0x800700c1[gle=0x000000c1]


This seems to be an sysprep issue on Internet Explorer! 
When looking at more information I found the following blogpost:
Sysprep fails on a machine that has Internet Explorer 10 installed
The sysprep issue seems to be causes by Internet Explorer 10. To solve this issue the following must be done before starting sysprep.
The reason for this error, is that registry keys which contain this information are pointing to incorrect locations.

Navigate to: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Cleanup, Set permission for group Administrators (Full Control)
For the Value named {EC9FE15D-99DD-4FB9-90D5-5B56E42A0F80}, change the Value Data from: C:\Windows\SysWOW64\iesysprep.dll,Sysprep_Cleanup_IE to: C:\Windows\System32\iesysprep.dll,Sysprep_Cleanup_IE

Navigate to: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Generalize, Set permission for group Administrators (Full Control)
For the Value named {EC9FE15D-99DD-4FB9-90D5-5B56E42A0F80}, change the Value Data from: C:\Windows\SysWOW64\iesysprep.dll,Sysprep_Cleanup_IE to: C:\Windows\System32\iesysprep.dll,Sysprep_Cleanup_IE

Navigate to: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Specialize, Set permission for group Administrators (Full Control)
For the Value named {EC9FE15D-99DD-4FB9-90D5-5B56E42A0F80}, change the Value Data from: C:\Windows\SysWOW64\iesysprep.dll,Sysprep_Cleanup_IE to: C:\Windows\System32\iesysprep.dll,Sysprep_Cleanup_IE

After that sysprep is running fine again and the reference image can be created and used for ConfigMgr deployment. Yeah!

2 comments:

  1. My reference image has almost the exact same content as yours Henk. But the capture went fine and it deploys fine. No problems with domain join or hostname change. But I do get a lot of duplicate devices. Every time I redeploy the same machine. Could this be related?

    ReplyDelete
    Replies
    1. "Prepare ConfigMgr Client for Capture" is a step in Build and Capture which is needed for sysprep. I could be related indeed, so just try to remove above regkeys before capture first. Hope it helps!

      Delete