Windows 10, MDT 2013 Update 1, and HideShell

Four blogs in a week.  In case you haven’t noticed yet, my team has started blogging to, so be sure to check that location too.  (We announced the release of MDOP and MDT last week.) 

For those using HideShell with Windows 8.1, you can continue to use it with MDT 2013 Update 1 and Windows 10.  It will continue to work well, leaving you with the final summary screen, without being able to interact with the shell, once the task sequence completes:


To enable that, just specify “HideShell=YES” in CustomSettings.ini.  But it’s important to point out that there is a change in behavior in Windows 10 that requires some undoing to make this work.  The default behavior for RunOnce registry entries, which is what MDT uses to implement HideShell, has changed from being synchronous (meaning all must complete before the shell is visible) to asynchronous (the shell shows up before they are done).  That change breaks the MDT HideShell behavior.  To work around that, we have to change a registry entry to get the RunOnce behavior to revert back.  This is done through an entry in the Unattend.xml template provided with MDT:

<RunSynchronousCommand wcm:action="add">
    <Description>disable async RunOnce</Description>
    <Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer /v AsyncRunOnce /t REG_DWORD /d 0 /f</Path>

(If you don’t see that entry in the Unattend.xml associated with your task sequence, maybe you didn’t create a new task sequence after you installed the MDT 2013 Update 1 final release?  That would be a bad thing…)

But there’s one other issue that you can run into, especially if your task sequence doesn’t run for very long in the new Windows 10 OS.  The initial “first run animation,” which is supposed to display while apps and other “one-time” operations are going on, ends up waiting for the RunOnce entries to finish too – and with HideShell in place, that never happens.  Eventually, the animation process gives up, but in the meantime, you have to stare at this screen for a long time:


To fix that, you can disable the first run animation via another registry tweak.  Add this to your Unattend.xml right after the command above that disables the async processing:

<RunSynchronousCommand wcm:action="add">
    <Description>disable animation</Description>
    <Path>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableFirstLogonAnimation /d 0 /t REG_DWORD /f</Path>

(Sure, you can use WSIM to do this, but Notepad is easier.  If you use Notepad, make sure the “Order” value is unique, e.g. change it to 5 like above.)

With that change in place, you’ll see a different screen:


But sadly, it still takes just as long.  So that by itself didn’t accomplish much.  But there is one more tweak that can be made:

<RunSynchronousCommand wcm:action="add">
    <Description>disable animation</Description>
    <Path>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v DelayedDesktopSwitchTimeout /d 0 /t REG_DWORD /f</Path>

With that in place, you’ll see Windows switch immediately to the desktop once the local Administrator account signs in, showing the task sequence progress – very quickly.  Mission accomplished.

Changing these policies does affect subsequent user logons, so I would suggest running a script later to remove the registry keys added by the commands above.  Once they are removed, the typical behavior will return.

Comments (16)
  1. Valter Anjos says:

    Well done Michael! Thanks a lot for this info!

  2. Anonymous says:

    This post is to serve as the release notes and known issues list for the current release of MDT 2013

  3. Todd Stephens says:

    Note that even if you are not using HideShell you will get the "This is taking a bit longer…" message with Windows 10 and short task sequences (I’ve got nothing in my TS right now – just playing with OS deployment). This message, and all the other bugs
    and workarounds, makes things look pretty ugly for Windows 10 when doing MDT deployments. Seems that Update 1 is half baked and only released now to meet a deadline. When will we be seeing a new version of MDT that cleans up all the workarounds and bugs brought
    in by Update 1?

  4. The "this is taking a bit longer" scenario would have happened with Windows 8.1 and previous MDT releases too, so this isn’t really new. It’s just that more people notice now.

    See for information on known MDT 2013 Update 1 issues. The MDT team is working on fixing these.

  5. Jonatas says:

    Hi Michael, thanks a lot for this post! I really needed that!

  6. Alexandre Vinson says:

    Thanks Michael, Would be great if MDT2013 update 1 does all that automatically in a "Under the hood" or by adding a MDT settings that would be EnableHideShellforWIndows 10

  7. James Henson says:

    Spent 2 days now after upgrading to win 10 trying to resolve issue of explorer 11 changing file extensions from ;exe, .pdf or whatever I’m downloading ti read or install. Having to fix each file or program by changing the"_" to a period ">" Done everything
    possible in internet options security, privacy and advanced includuing resetting all 3 to defaults; problem still there. Considering a 3rd party software fix trhat reads and instralls all file types. Also cannot find an APP that reads file extensions : ".exe";
    tried that to with no joy. Help if you can forgive spelling please. Thank you.

  8. James Henson says:

    Having to fix each file or program by changing the"_" to a period "." Sorry for the miss print there…

    my email is

  9. Anonymous says:

    As noted in my previous post, given the number of issues with the original build of MDT 2013 Update 1

  10. David says:

    Did HKCU RunOnce change the permission it runs under (is it still administrator)?

  11. David Bloom says:

    Michael, are the RunSynchronous commands added to the Specialize configuration pass?

  12. David Bloom says:

    Also, it looks like some of these commands have been implemented in MDT 2013 U1 Re-Release (build 8298)

  13. brodermo says:

    The first RunSynchronousCommand (Order 4) was included in Update 1 Re-release. Why not the 2nd one for animation though?

  14. jinlong says: longchamp le pliage large tote sale michael kors hamilton Burberry Handbags Outlet Online chanel tote bag burberry store chicago cheap louis vuitton tote michael kors black handbags gucci backpack for men michael kors handbags on sale coach messenger bag for women louis vuitton belt for men hermes purses prices Gucci Handbags Outlet cheap louis vuitton speedy Burberry Crossbody Bags Burberry Tote Bags Prada Totes cheap michael kors tote Coach Purse Outlet Online 80% Off chanel bags prices Prada Handbags Outlet Burberry Men’s Wallet Outlet mcm tote prada tote bag louis vuitton belts for men prada-crossbody louis vuitton monogram coach diaper bags on sale burberry tote coach purse outlet hermes purses cheap louis vuitton purses michael kors bag prada belts coach wallets on sale outlet MCM Factory Outlet Coach Purses Outlet Online michael kors tote louis vuitton wallet cheap michael kors handbags

Comments are closed.

Skip to main content