Let’s try to fix the edge chromium deployment error. The following is the error Edge Chromium Unmatched Exit Code (1) Is Considered An Execution Failure. The production version of the Microsoft Edge browser got released on 15th January 2020.
I used the default option (using \Software Library\Overview\Microsoft Edge Management) in SCCM to deploy the Edge Chromium version. Microsoft’s recommendation is to use the edge stable version chromium-browser as the default browser.
Edge Chromium Stable Channel Version – 56EB18F8-B008-4CBD-B6D2-8C97FE7E9062
NOTE! – An alternate method of installing Microsoft Edge Chromium – Deploy Microsoft Edge Chromium Browser Using SCCM ConfigMgr. You might need to use group policy to define the channel and all the other configurations of Edge Chromium.
Problem Statement
I got an error when deploying the Edge Chromium version of the browser to Windows 10 devices. The software center showed a failed error message.
Unable to make changes to your software - There was a problem applying changes to the software. You can try again. Or, of the problem continues, the information that is shown in the following section can assist your help desk in troubleshooting. Click OK to return to Software Center More Information 0x1(1)
- Checked AppEnforce.log log file from C:\Windows\CCM\Logs to understand what is the issue with the deployment.
- Let’s check the error logs from AppEnforce.log file.
Command line: powershell -File ".\Install-Edge.ps1" -MSIName "MicrosoftEdgeEnterpriseX64.msi" -ChannelID "{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}" Allow user interaction: No UI mode: 1 User token: not null Session Id: 4294967295 Content path: C:\windows\ccmcache\8 Working directory:Prepared working directory: C:\windows\ccmcache\8
Found executable file powershell with complete path C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exePrepared command line: "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -File ".\Install-Edge.ps1" -MSIName "MicrosoftEdgeEnterpriseX64.msi" -ChannelID "{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}"
Executing Command line: "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -File ".\Install-Edge.ps1" -MSIName "MicrosoftEdgeEnterpriseX64.msi" -ChannelID "{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}" with system contextLooking for exit code 1 in exit codes table...
Unmatched exit code (1) is considered an execution failure
.
Troubleshooting Edge Chromium
Let’s try to troubleshoot Microsoft edge chromium deployment failure-related issues.
Manual Try
I tried to run the script manually and find more details about the failure of edge deployment. I got the following error “cannot be loaded because running scripts is disabled on this system.”
This error translates to PowerShell execution policy being set to undefined!
PS C:\Windows\ccmcache\8> .\Install-Edge.ps1 .\Install-Edge.ps1 : File C:\Windows\ccmcache\8\Install-Edge.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 .\Install-Edge.ps1~~~~~~ CategoryInfo : SecurityError: (:) [], PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess
Client Policy – Computer Agent
I checked and confirmed that the client setting – Computer agent – PowerShell Execution Policy is set to All Signed.
Edge Deployment Script is Signed
Make sure that the edge chromium deployment script is signed.
Client Setting Policy – Not Applied
Does it seem the SCCM client setting PowerShell execution policy is not getting applied to Windows 10 client?
The policy still shows as undefined even though I set the PowerShell execution policy as Signed.
>> Get-ExecutionPolicy -List
Scope ExecutionPolicy ----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
Update Script
- Added a new line to the Microsoft Edge Chromium browser script called Install-Edge.ps1 and saved.
- It didn’t help to fix the issue.
Update Content
- Redistribute the content of the edge application.
- Navigate to \Software Library\Overview\Application Management\Applications
- Click on Microsoft Edge – Deployment Types – Edge X64 Default Deployment Type.
- Right-Click and Select Update Content.
Changed Command Line
- Navigate to \Software Library\Overview\Application Management\Applications.
- Select the properties of the deployment – Edge X64 Default Deployment Type.
- Click on the Programs tab and change the command (the installation program) as given below.
- Tried to add PowerShell execution policy to AllSigned and Bypass. However, it didn’t work!
powershell -File ".\Install-Edge.ps1" -ExecutionPolicy AllSigned -MSIName "MicrosoftEdgeEnterpriseX64.msi" -ChannelID "{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}" -DoAutoUpdate "False"
powershell -File ".\Install-Edge.ps1" -ExecutionPolicy Bypass -MSIName "MicrosoftEdgeEnterpriseX64.msi" -ChannelID "{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}" -DoAutoUpdate "False"
Failed WaitForRunningProcess failed Error 0x87d00213
Let’s check the steps which I performed to fix the issue. This should be treated as a workaround solution. Ideally, the client setting should take care of the PowerShell execution policy.
PowerShell Script to Enable Execution Policy
- Create a script to change the PowerShell Policy (More detailed guide here).
- Set-ExecutionPolicy AllSigned -Force
- Run the script against a device collection as mentioned above.
Windows 10 Client – Results
- Run the following PowerShell command to check the results:
- Get-ExecutionPolicy -List
- Check the following Scope Execution Policy below.
Re-Run Microsoft Edge Application
- Re-run Microsoft Edge Application from Software Center.
- Check the log AppEnforce.log
Executing Command line: "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -File ".\Install-Edge.ps1" -MSIName "MicrosoftEdgeEnterpriseX64.msi" -ChannelID "{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}" -DoAutoUpdate "False" with user context
- The deployment failed again.
Failed Again
- Check the AppEnforce.log to get more details on the failure again.
Waiting for process 1984 to finish. Timeout = 30 minutes.
Exceeded timeout of 30 minutes while waiting for process 1984 to finish.
WaitForRunningProcess failed. Error 0x87d00213.
CScriptHandler::CompleteEnforcement failed with 0x87d00213
CAppProvider::CompleteEnforcement failed with error 0x87d00213
++++++ Failed to enforce app. Error 0x87d00213. ++++++
Continue…. Unmatched Exit Code (1)
I’m still trying to find out the real issue here. I couldn’t reproduce the issue when I executed the command manually on the device.
Resources
- Microsoft Edge Chromium Patching Software Update Process
- New Microsoft Edge Browser Deployment with Intune MEM
- Deploy Google Chrome Update with SCCM Step by Step Guide
Hi
Please try to remove the ‘{‘ and ‘}’ from the command line.
I did try this .. without quotes it won’t work at all
Anoop Sir,
I tried this one and working
powershell -ExecutionPolicy Bypass -File “.\Install-Edge.ps1” -ExecutionPolicy AllSigned -MSIName “MicrosoftEdgeEnterpriseX64.msi” -ChannelID “{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}” -DoAutoUpdate “False”
Manually it’s working from sccm it’s not working for me
Wonder if it has anything to do with the preloading/prelaunching abilities of Edge…
https://www.askvg.com/windows-10-what-are-microsoft-edge-exe-processes-running-in-task-manager-and-how-to-disable-them/
It works for me from SCCM with:
powershell -File “.\Install-Edge.ps1” -ExecutionPolicy Bypass -MSIName “MicrosoftEdgeEnterpriseX64.msi” -ChannelID “{56eb18f8-b008-4cbd-b6d2-8c97fe7e9062}” -DoAutoUpdate “False”
Unfortunately it didn’t work for me as I mentioned in the post
I had the same issues, what worked was omitting the -DoAutoUpdate “False” argument.
BIG Thank you Ace you’re a life saver 🙂 removing the -DoAutoUpdate “False” from the script fixed it for me.
Yes. Getting rid of the parameter -DoAutoUpdate form the commandline does the Job. When you are looking into the Script there ist no Paramter like that:
param
(
[parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]$MSIName,
[parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]$ChannelID
)
# Registry value name is in the format “Update where ChannelID is the GUID
Does Micro$oft event Test things bevor rolling out to Production?!
I use a template PS script for installing applications. In order to get this script to work I borrowed from that script. I believe the final issue was that the install line in the original Edge script could not find the MSI file. With my additions to the script and the execution policy bypass as indicated above, it works as intended.
This is what I added:
# assert location of installer
$installerPath = $PSScriptRoot + “\” + $MSIName
# Log file name
$msiDescription = ‘Microsoft_Edge’
# build log file path
$logFile = $env:SystemRoot + ‘\PackageLogs\’ + $msiDescription + ‘.log’
# List of arguments
$argList = ‘/I ‘ + “””$installerPath””” + ‘ /qn /L* ‘ + “””$logFile”””
# Magic happens here
Start-Process msiexec.exe -ArgumentList $argList -Wait