Microsoft Edge WebView2
Enable built-in PDF reader powered by Adobe Acrobat for WebView2
Supported on Microsoft Edge version 116, Windows 7 or later
What it does
This policy configures WebView2 applications to launch the new version of the PDF reader that's powered by Adobe Acrobat's PDF reader. The new PDF reader ensures that there's no loss of functionality and delivers an enhanced PDF experience. This experience includes richer rendering, improved performance, strong security for PDF file handling, and greater accessibility. If this policy is specified for an application, it is possible that it may impact other related applications as well. The policy is applied to all WebView2s sharing the same WebView2 user data folder. These WebView2s could potentially belong to multiple applications if those applications, which are likely from the same product family, are designed to share the same user data folder. Use a name-value pair to enable the new PDF reader for the application. Set the name to the Application User Model ID or the executable file name. You can use the "*" wildcard as value name to apply to all applications. Set the Value to true to enable the new reader or set it to false to use the existing one. If you enable this policy for the specified WebView2 applications, they will use the new Adobe Acrobat powered PDF reader to open all PDF files. If you disable the policy for the specified WebView2 applications or don't configure it, they will use the existing PDF reader to open all PDF files. Example value: {"name": "app1.exe", "value": true} {"name": "app_id_for_app2", "value": true} {"name": "*", "value": false}
What it writes
- Hive
- HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
- Registry key
Software\Policies\Microsoft\Edge\WebView2
Options
| Option | Type | Registry value | Allowed values |
|---|---|---|---|
| Set value name to the Application User Model ID or the executable file name. You can use the "*" wildcard as value name to apply to all applications. | List of values | Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List |
Name and value pairs |
Configure and deploy
Choose a state and the option values; the output below is generated from the template for exactly that.
Enabled · Computer · template defaults
Registry file (.reg)
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List]
PowerShell
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Enable built-in PDF reader powered by Adobe Acrobat for WebView2
# Name: NewPDFReaderWebView2List
# Scope: Machine
# State: Enabled
# Source: msedgewebview2.admx
Clear-RegistryKeyValues -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List'
- The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
- Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.
- The generated payload is incomplete because one or more ADMX element values were not supplied: NewPDFReaderWebView2ListDesc
ADMX profile candidate (OMA-URI)
./Device/Vendor/MSFT/Policy/Config/ADMX_msedgewebview2/NewPDFReaderWebView2ListIntune remediation scripts
Detection
$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()
function Test-RegistryValueExists {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}
function Test-RegistryValueEquals {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $Kind,
[Parameter(Mandatory = $true)][object] $Expected
)
if (-not (Test-Path -LiteralPath $Path)) {
return $false
}
$valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
if ($null -eq $valueObject) {
return $false
}
$actual = $valueObject.$Name
switch ($Kind) {
'String' { return [string]$actual -ceq [string]$Expected }
'ExpandString' { return [string]$actual -ceq [string]$Expected }
'DWord' { return [uint32]$actual -eq [uint32]$Expected }
'QWord' { return [uint64]$actual -eq [uint64]$Expected }
'MultiString' {
$actualArray = @($actual)
$expectedArray = @($Expected)
if ($actualArray.Count -ne $expectedArray.Count) { return $false }
for ($index = 0; $index -lt $actualArray.Count; $index++) {
if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
}
return $true
}
'Binary' {
$actualArray = [byte[]]$actual
$expectedArray = [byte[]]$Expected
if ($actualArray.Length -ne $expectedArray.Length) { return $false }
for ($index = 0; $index -lt $actualArray.Length; $index++) {
if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
}
return $true
}
default { return [string]$actual -ceq [string]$Expected }
}
}
# Policy: Enable built-in PDF reader powered by Adobe Acrobat for WebView2
# Name: NewPDFReaderWebView2List
# Scope: Machine
# State: Enabled
# Source: msedgewebview2.admx
$keyPath = 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List'
if (Test-Path -LiteralPath $keyPath) {
$propertyNames = (Get-Item -LiteralPath $keyPath).Property
if ($propertyNames.Count -gt 0) {
$reasons.Add('Key should be empty: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List') | Out-Null
}
}
if ($reasons.Count -eq 0) {
Write-Output 'Compliant'
exit 0
}
$reasons | ForEach-Object { Write-Output $_ }
exit 1
Remediation
$ErrorActionPreference = 'Stop'
function Set-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name,
[Parameter(Mandatory = $true)][string] $PropertyType,
[Parameter(Mandatory = $true)][object] $Value
)
if (-not (Test-Path -LiteralPath $Path)) {
New-Item -Path $Path -Force | Out-Null
}
New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}
function Remove-RegistryValue {
param(
[Parameter(Mandatory = $true)][string] $Path,
[Parameter(Mandatory = $true)][string] $Name
)
if (Test-Path -LiteralPath $Path) {
Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
}
}
function Clear-RegistryKeyValues {
param(
[Parameter(Mandatory = $true)][string] $Path
)
if (-not (Test-Path -LiteralPath $Path)) {
return
}
foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
}
}
# Policy: Enable built-in PDF reader powered by Adobe Acrobat for WebView2
# Name: NewPDFReaderWebView2List
# Scope: Machine
# State: Enabled
# Source: msedgewebview2.admx
Clear-RegistryKeyValues -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List'
History 37 retained releases
- 150.0.4078.8016 Jul 2026
- Already present in the first release ChangeIntel keeps.
36 later releases left it unchanged.
Template
- Internal name
NewPDFReaderWebView2List- Namespace
Microsoft.Policies.WebView2- Template file
msedgewebview2.admx- Release
- Microsoft Edge 155.0.4283.62 · file set
0a733b0040dbbf02…
Definition, editor controls and support
Definition
<policy class="Both" displayName="$(string.NewPDFReaderWebView2List)" explainText="$(string.NewPDFReaderWebView2List_Explain)" key="Software\Policies\Microsoft\Edge\WebView2" name="NewPDFReaderWebView2List" presentation="$(presentation.NewPDFReaderWebView2List)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<parentCategory ref="Microsoft.Policies.WebView2:microsoft_edge_webview2" />
<supportedOn ref="Microsoft.Policies.WebView2:SUPPORTED_WIN7_V116" />
<elements>
<list explicitValue="true" id="NewPDFReaderWebView2ListDesc" key="Software\Policies\Microsoft\Edge\WebView2\NewPDFReaderWebView2List" />
</elements>
</policy>Editor controls
<presentation id="NewPDFReaderWebView2List" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"><listBox refId="NewPDFReaderWebView2ListDesc">Set value name to the Application User Model ID or the executable file name. You can use the "*" wildcard as value name to apply to all applications.</listBox></presentation>Supported platforms and category
Microsoft.Policies.WebView2:category:microsoft_edge_webview2
<category displayName="$(string.microsoft_edge_webview2)" name="microsoft_edge_webview2" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.WebView2:definition:SUPPORTED_WIN7_V116
<definition displayName="$(string.SUPPORTED_WIN7_V116)" name="SUPPORTED_WIN7_V116" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
Microsoft.Policies.WebView2:category:microsoft_edge_webview2
<category displayName="$(string.microsoft_edge_webview2)" name="microsoft_edge_webview2" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.WebView2:microsoft_edge_webview2">Microsoft Edge WebView2</string></strings>
Microsoft.Policies.WebView2:definition:SUPPORTED_WIN7_V116
<definition displayName="$(string.SUPPORTED_WIN7_V116)" name="SUPPORTED_WIN7_V116" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="Microsoft.Policies.WebView2:SUPPORTED_WIN7_V116">Microsoft Edge version 116, Windows 7 or later</string></strings>