MDT 2013 U1 - HideShell breaks Windows 10 applications deployment RRS feed

  • Question

  • Hi All,

    I have been a long time user of MDT since version 2010/Windows 7. I am now using the latest build of 2013U1 (re-release) with a Windows 10 1511 ISO and having some trouble.

    When I specify HideShell=YES in CustomSettings.ini the deployment completes but all applications fail to deploy - errors are listed in the Deployment Summary window. If I change the value to No all applications deploy successfully:

    Office 2013 ends with error 1618 (another installation is running)
    App deployed using batch file ends with unexpected error -2147467259

    I have created a new deployment share and new task sequences with this latest MDT build to make sure I'm using all the correct versions.

    I'd like to be able to use HideShell as it is cleaner and reduces the likelihood of human error. Can anyone point me out to what I'm doing wrong?

    Please have a look at my BDD.log here:


    • Edited by IITMLB Monday, March 7, 2016 6:25 AM
    Monday, March 7, 2016 5:57 AM

All replies

  • Something else is installing before office.  That will have nothing to do with HideShell however.  You might want to look in the temp directory and see if there is an msi log of some sort.

    Logs are very important. Mention any customizations you have made.

    Monday, March 7, 2016 10:40 PM
  • you should update to Update 2 (6.3.8330.1000)

    you are running Microsoft Deployment Toolkit version: 6.3.8298.1000 .

    Monday, March 7, 2016 11:19 PM
  • You need to follow this guide to use Hide Shell with Windows 10 and 2013 Update 1.

    If this post is helpful please vote it as Helpful or click Mark for answer.

    • Proposed as answer by Dan_Vega Tuesday, March 8, 2016 2:16 PM
    Tuesday, March 8, 2016 2:16 PM
  • Thanks guys. I didn't realize there's a U2 but looking at the change log it doesn't look like it addresses my issue. I will update anyway.

    I know it says something else is installing but it is a fact that by simply disabling HideShell this issue does not occur. Nothing else changes in the environment during those runs.

    Dan_Vega, I already had a look at that guide. The first set of lines has been integrated in the last U1 build and I don't experience the symptoms described in the other lines.

    I will add that I'm very disappointed in the quality of the MDT releases since Windows 10 came out. It is a wonderful system and I do hope Microsoft goes back to releasing quality versions in the future.

    Let me update and re-create the task sequences, I will then update this post.

    Thank you all.

    • Edited by crunchabit Tuesday, March 8, 2016 10:30 PM
    Tuesday, March 8, 2016 10:29 PM
  • The MSI return code doesn't lie.  If you want to figure out why this is happening you will need to look and see what is installing.  It might be some Windows Store App or maybe a Windows Update.

    Logs are very important. Mention any customizations you have made.

    Wednesday, March 9, 2016 1:20 AM
  • Reporting back as promised. So all the updates I did didn't change a thing, indeed there was one application installing which I missed (GPO startup script). I still don't understand why it would only install with HideShell=Yes or why it doesn't happen with Windows 7 (and older MDT version) as that application has been there for a long time but at least I found the culprit. Thank you all again for your help
    Thursday, March 10, 2016 6:14 AM
  • I went through the same thing. Try to deploy the applications with MSI instead of the setup.exe. It'll probably go through fine.
    Thursday, March 10, 2016 11:21 PM
  • Hi All,

    OP here, apologies I seem to have 3 different usernames in TechNet...

    Anyways I wanted to share my solution which took me some time to settle on and come to the conclusion it's the most effective and simplest one.

    I wrote a PowerShell script which I run just before installing the first application in the task sequence (Office 2013). The script checks if another application is using MSIEXEC and waits until it's free - then it exits and allows the deployment to move on to the next step.

    I place the script in the deployment's Scripts folder and call it by creating a "Run PowerShell Script" step and simply specifying the file name in the "PowerShell script" field (e.g., CheckMSI.ps1). No need to specify path as MDT considers this folder as the root scripts path. MDT also takes care of the execution policy and runs the script as admin so no need to worry about any of that either.

    Specifically, the script checks whether the msiexec process is running and whether the InProgress registry key exists: based on my research, any MSI application that's being installed will trigger this process and temporarily write the registry key to signify an installation is running. If one of the conditions is true the script simply continues to check periodically until both conditions are false and then exits.

    Function CheckMSI {
    $Reg=Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\InProgress
    $Proc=Get-Process *msiexec*

    if ($Reg -like 'True') {Write-Host Key exists} else {Write-Host Key does not exist}
    if ($Proc -eq $null) {Write-host Process is not running} else {Write-Host Process is running}

    if (($Reg -like 'True') -or ($Proc -ne $null)){
    Write-Host "Another MSI is running, waiting..."
    Start-Sleep 10
    } else {

    Function ExitScript {
    Write-Host Area clear


    • Proposed as answer by turmoil Saturday, March 12, 2016 5:40 AM
    • Edited by turmoil Saturday, March 12, 2016 5:48 AM
    Saturday, March 12, 2016 5:28 AM