Jump to content
Updated Privacy Statement
  • 0

Need Edge Recipe (Post March Update)


William Pennie

Question

Looking for an official recipe for MS Edge.

We used to have Edge and Chrome in their own layer, pre March update from MS that forces Edge to install with patches.  This worked perfectly.

 

Now that MS is forcing Edge to install with patches we started getting side by side errors, as there are many different versions being installed in every layer as they are updated. Got rid of the Edge layer and put Edge in the OS layer but we are still seeing different versions install in every layer as they are patched/updated.

 

Looking for a way to fix our current situation and an official recipe regarding Edge in its current form.

Link to comment

5 answers to this question

Recommended Posts

  • 0

I am working on a blog about this but the important things to think about are:

We need to make sure edge updates never happen in app layers for the platform layer because that makes images very confusing and hard to manage.

 

In the OS layer we want to make sure edge updates do not run automatically

  • Disable Both edgeupdate service
  • Disable both Edge Update Scheduled Tasks

I also add the edge admx files locally on my os layer then disable edgeupdates and the webbview.   This wqont help for the packaging machines because the gpos's are only for domain joined machines but it ensures these gpos are there for publsihed images even if it takes a while for the gpos to apply.

 

If you get edge updates in the user layer that is pretty hard to deal with.  You would have to mount the layers from a non app layering machine and delete whatever files need deleting.

Link to comment
  • 0

After getting bit by Edge's update scheduled task name change recently, I had to pivot with my install script. I'm doing basically what Rob suggests:

 

  1. Install Edge in the OS layer
  2. Hardcode the UpdateDefault registry key to 0, disabling Edge updates
  3. Disabling all scheduled tasks named MicrosoftEdgeUpdate*
  4. Disabling the two Edge update services

Below is my install script:

 

$var_Install_Exec = "msiexec.exe"
$var_Install_Arg = "/i MicrosoftEdgeEnterpriseX64.msi DONOTCREATEDESKTOPSHORTCUT=TRUE DONOTCREATETASKBARSHORTCUT=TRUE /qn"

$proc = Start-Process -FilePath $var_Install_Exec -ArgumentList $var_Install_Arg -WorkingDirectory $PSScriptRoot -Wait -PassThru

While (!(Test-Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk")) { Start-Sleep 5 }
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{9459C573-B17A-45AE-9F64-1857B5D58CEE}" -Name "StubPath" -Force

While (!(Test-Path "C:\Users\Public\Desktop\Microsoft Edge.lnk")) { Start-Sleep 5 }
Remove-Item "C:\Users\Public\Desktop\Microsoft Edge.lnk" -Force

#Fixing the Microsoft Edge tile background color so that it matches the other Windows 10 tiles
Remove-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.VisualElementsManifest.xml" -Force
$Shell = New-Object -ComObject ("WScript.Shell")
$Shortcut = $Shell.CreateShortcut("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk")
$Shortcut.IconLocation = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";
$Shortcut.Save()

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate\" -Force | Out-Null
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate\" -Name "UpdateDefault" -Value 0 -PropertyType "DWORD" -Force | Out-Null
Get-ScheduledTask -TaskName MicrosoftEdgeUpdate* | Disable-ScheduledTask | Out-Null

$Services = "edgeupdate","MicrosoftEdgeElevationService"
ForEach ($Service in $Services){
	Set-Service -Name $Service -StartupType Disabled
	Stop-Service -Name $Service -Force
}

That middle section isn't necessary, but it drives me nuts seeing Edge's icon so much larger than the other Windows 10 icons, so I correct it as part of my script.

Link to comment
  • 0

I've never run into the side by side errors, but what I would do is this:

 

  1. Assuming that you installed Edge in your OS layer, create a new version and uninstall Edge (even if you have two entries in Add Programs listed)
  2. Finalize that layer
  3. Create another OS layer version and install whichever build of Edge you're looking to be on. Below is a copy of my current install script, which has some new entries that I wanted to remove in later builds of Edge
$var_Install_Exec = "msiexec.exe"
$var_Install_Arg = "/i MicrosoftEdgeEnterpriseX64.msi DONOTCREATEDESKTOPSHORTCUT=TRUE DONOTCREATETASKBARSHORTCUT=TRUE /qn"

$proc = Start-Process -FilePath $var_Install_Exec -ArgumentList $var_Install_Arg -WorkingDirectory $PSScriptRoot -Wait -PassThru

While (!(Test-Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk")) { Start-Sleep 5 }
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{9459C573-B17A-45AE-9F64-1857B5D58CEE}" -Name "StubPath" -Force

While (!(Test-Path "C:\Users\Public\Desktop\Microsoft Edge.lnk")) { Start-Sleep 5 }
Remove-Item "C:\Users\Public\Desktop\Microsoft Edge.lnk" -Force

#Fixing the Microsoft Edge tile background color so that it matches the other Windows 10 tiles
Remove-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.VisualElementsManifest.xml" -Force
$Shell = New-Object -ComObject ("WScript.Shell")
$Shortcut = $Shell.CreateShortcut("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk")
$Shortcut.IconLocation = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";
$Shortcut.Save()

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate\" -Force | Out-Null
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\EdgeUpdate\" -Name "UpdateDefault" -Value 0 -PropertyType "DWORD" -Force | Out-Null
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}\Commands\on-logon-autolaunch\" -Name "AutoRunOnLogon" -Value 0 -PropertyType "DWORD" -Force | Out-Null
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}\Commands\on-logon-startup-boost\" -Name "AutoRunOnLogon" -Value 0 -PropertyType "DWORD" -Force | Out-Null
Get-ScheduledTask -TaskName MicrosoftEdgeUpdate* | Disable-ScheduledTask | Out-Null
Get-ScheduledTask -TaskName MicrosoftEdgeUpdate* | Unregister-ScheduledTask -Confirm:$False | Out-Null

$Services = "edgeupdate","MicrosoftEdgeElevationService"
ForEach ($Service in $Services){
	Set-Service -Name $Service -StartupType Disabled
	Stop-Service -Name $Service -Force
}

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...