It looks like manually installing Outlook as a PWA from within Edge registers the PWA as a protocol handler for "mailto" in Windows; however, using the GPO/Registry to install does not. There are several other differences to the way it is installed if you do it manually vs GPO/Registry as well. Here is the solution I got to work for me.
1. Configure Outlook PWA Installation and register protocol handler in Edge
Here is the registry. You can also configure this with GPO if you download the MSEdge templates.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"WebAppInstallForceList"="[{\"custom_name\": \"Outlook\", \"install_as_shortcut\": true, \"create_desktop_shortcut\": true, \"default_launch_container\": \"window\", \"url\": \"https://outlook.office.com/mail\",\"custom_icon\": {\"hash\": \"E35D94B76894D6ECA96FF5B1A12D94DFE73485EF3C52CB5B4395BE8FFAC1CB45\", \"url\": \"https://outlook.office.com/mail/favicon.ico\"}}]"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\Recommended]
"RegisteredProtocolHandlers"="[{\"url\": \"https://outlook.office.com/mail/deeplink/compose?mailtouri=%s\",\"default\": true,\"protocol\": \"mailto\"}]"
2. Add the Outlook PWA as a protocol handler for "mailto" in Windows.
Download an Outlook .ico file and save it as C:\ProgramData\OutlookPWA\Outlook.ico. This file is referenced in the registry entries below as the icon for when you select the Outlook PWA as the default app in Settings.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA]
@="OutlookPWA"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\Application]
"ApplicationIcon"="C:\\ProgramData\\OutlookPWA\\Outlook.ico,0"
"ApplicationName"="OutlookPWA"
"ApplicationDescription"="Outlook Progressive Web Application"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\DefaultIcon]
@="C:\\ProgramData\\OutlookPWA\\Outlook.ico,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\shell\open\command]
@="\"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge_proxy.exe\" --profile-directory=Default --app=https://outlook.office.com/mail/deeplink/compose?mailtouri=%1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\shell\runas]
"ProgrammaticAccessOnly"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OutlookPWA\shell\runas\command]
@="\"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge_proxy.exe\" --profile-directory=Default --do-not-de-elevate --app=https://outlook.office.com/mail/deeplink/compose?mailtouri=%1"
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"OutlookPWA"="Software\\Clients\\Mail\\OutlookPWA\\Capabilities"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA]
@="OutlookPWA"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA\Capabilities]
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA\Capabilities\URLAssociations]
"mailto"="OutlookPWA"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA\DefaultIcon]
@="C:\\ProgramData\\OutlookPWA\\Outlook.ico,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\OutlookPWA\shell\open\command]
@="\"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge_proxy.exe\" --profile-directory=Default --app=https://outlook.office.com/mail/deeplink/compose?mailtouri=%1"
3. Set the default app association.
Create an XML file that contains the default for mailto (Set to OutlookPWA). Feel free to add any other defaults you want to this file.
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier="mailto" ProgId="OutlookPWA" ApplicationName="OutlookPWA" />
</DefaultAssociations>
Import default app associations from that XML file either by GPO (Computer Configuration > Policies > Administrative Templates > Windows Components > File Explorer > Set a default associations configuration file) or with DISM. Dism will only apply to new users. It will not set defaults for existing users. If you need to set the default for existing users on the PC you will need to use the GPO.
Dism - Apply to Image
Dism /Image:YourImage /Import-DefaultAppAssociations:YourXMLFile
Dism - Apply to already imaged computer
Dism /Online /Import-DefaultAppAssociations:YourXMLFile
That's it!
Bonus: If you actually use Edge and you don't want it to pop up asking if you want to allow this website to open a program when you click a mailto
link, use either of the following:
Machine
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\mailto]
"WarnOnOpen"=dword:00000000
User
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\mailto]
"WarnOnOpen"=dword:00000000