Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions bucket/webview2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"version": "144.0.3719.93",
"description": "Microsoft Edge WebView2 Runtime. Embed web content (HTML, CSS, and JavaScript) in your native applications with Microsoft Edge WebView2.",
"homepage": "https://developer.microsoft.com/en-us/microsoft-edge/webview2",
"license": {
"identifier": "Proprietary",
"url": "https://developer.microsoft.com/microsoft-edge/api/eula/webview2"
},
"notes": "Overrides any natively installed Runtime through environment variable 'WEBVIEW2_BROWSER_EXECUTABLE_FOLDER'.",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

git ls-files | grep -E "(webview|bucket)" | head -20

Repository: ScoopInstaller/Extras

Length of output: 505


🏁 Script executed:

fd "webview2.json" --type f

Repository: ScoopInstaller/Extras

Length of output: 85


🏁 Script executed:

cat -n bucket/webview2.json

Repository: ScoopInstaller/Extras

Length of output: 4468


🌐 Web query:

WEBVIEW2_BROWSER_EXECUTABLE_FOLDER architecture specific 32-bit 64-bit

💡 Result:

WEBVIEW2_BROWSER_EXECUTABLE_FOLDER is not inherently “32-bit vs 64-bit”—it’s just a string path override that WebView2 reads when creating a new WebView2 Runtime browser process. If it’s set, it overrides the browserExecutableFolder you pass in code/SDK options. [1][2]

What is architecture-specific is what that path points to:

  • Your app loads an architecture-specific WebView2 loader (WebView2Loader.dll). You must ship/use the loader that matches your app’s architecture (x86 vs x64 vs arm64). [3]
  • If you’re pointing WEBVIEW2_BROWSER_EXECUTABLE_FOLDER at a Fixed Version Runtime, the folder you point to must contain the matching-architecture fixed runtime binaries for the process that’s loading WebView2 (e.g., an x86 process must use an x86 fixed runtime folder). Practically, you should set different values per-architecture build (or set the env var per-process before creating WebView2). [2][3]

Sources:
[1] Microsoft Learn (WebView2) – setting WEBVIEW2_BROWSER_EXECUTABLE_FOLDER env var and behavior
[2] CoreWebView2Environment docs – env var overrides browserExecutableFolder / fixed-version folder usage
[3] Microsoft Learn (WebView2 deployment) – WebView2Loader.dll is native and architecture-specific


Clarify the architecture-specific behavior of the global environment override.

The WEBVIEW2_BROWSER_EXECUTABLE_FOLDER environment variable points to the installed architecture's runtime folder. If a 32-bit application attempts to use WebView2 when the 64-bit version is installed, it will fail because the environment variable points to an incompatible folder. Update the notes to clarify this:

✏️ Suggested note update
-    "notes": "Overrides any natively installed Runtime through environment variable 'WEBVIEW2_BROWSER_EXECUTABLE_FOLDER'.",
+    "notes": "Overrides any natively installed Runtime through environment variable 'WEBVIEW2_BROWSER_EXECUTABLE_FOLDER'. This is architecture-specific; applications must match the runtime architecture. Install the 32-bit build (--arch 32bit) to support 32-bit applications.",

Also applies to: 27-29

🤖 Prompt for AI Agents
In `@bucket/webview2.json` at line 9, The existing "notes" entry for
WEBVIEW2_BROWSER_EXECUTABLE_FOLDER is ambiguous about architecture
compatibility; update the notes string (the "notes" JSON value in webview2.json)
to explicitly state that the environment variable must point to the runtime that
matches the application's architecture (e.g., a 32-bit app cannot use a 64-bit
WebView2 runtime and vice versa), and add a brief sentence warning that pointing
to an installed runtime of a different architecture will cause WebView2
initialization to fail; apply the same clarification to the other similar note
entries referenced (lines 27-29).

"architecture": {
"32bit": {
"url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/6c876eab-3bbf-4715-bfaf-e5bb2925457d/Microsoft.WebView2.FixedVersionRuntime.144.0.3719.93.x86.cab#/dl.7z",
"hash": "ff825c63e55c6ea1f0a588cc5d3f68dc8f12dd7d0c1e7b8f027afe0d0ebb2a77",
"extract_dir": "Microsoft.WebView2.FixedVersionRuntime.144.0.3719.93.x86"
},
"64bit": {
"url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/251a68fa-d6cf-451f-8cba-43df652d9297/Microsoft.WebView2.FixedVersionRuntime.144.0.3719.93.x64.cab#/dl.7z",
"hash": "9b3186a555284a200ee7a40c12e6f8163dbf132ba8a87e4e9ee7ff374176ef7f",
"extract_dir": "Microsoft.WebView2.FixedVersionRuntime.144.0.3719.93.x64"
},
"arm64": {
"url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/078c90ed-f9b7-4e2c-9cf7-174b552cc76b/Microsoft.WebView2.FixedVersionRuntime.144.0.3719.93.arm64.cab#/dl.7z",
"hash": "ab438aa033d9dc83d42efc7a33d643cf33eaae688752598ac1f16f5761167683",
"extract_dir": "Microsoft.WebView2.FixedVersionRuntime.144.0.3719.93.arm64"
}
},
"env_set": {
"WEBVIEW2_BROWSER_EXECUTABLE_FOLDER": "$dir"
},
"checkver": {
"url": "https://developer.microsoft.com/en-us/Microsoft-edge/webview2/",
"script": [
"$page -match 'https://msedge\\.sf\\.dl\\.delivery\\.mp\\.microsoft\\.com/filestreamingservice/files/(?<folder>[0-9a-z-]+)/Microsoft\\.WebView2\\.FixedVersionRuntime\\.([0-9.]+)\\.x86\\.cab'",
"$arch32 = $Matches.folder",
"$page -match 'https://msedge\\.sf\\.dl\\.delivery\\.mp\\.microsoft\\.com/filestreamingservice/files/(?<folder>[0-9a-z-]+)/Microsoft\\.WebView2\\.FixedVersionRuntime\\.(?<version>[0-9.]+)\\.x64\\.cab'",
"$version = $Matches.version",
"$arch64 = $Matches.folder",
"$page -match 'https://msedge\\.sf\\.dl\\.delivery\\.mp\\.microsoft\\.com/filestreamingservice/files/(?<folder>[0-9a-z-]+)/Microsoft\\.WebView2\\.FixedVersionRuntime\\.([0-9.]+)\\.arm64\\.cab'",
"$archarm64 = $Matches.folder",
"Write-Output \"$version $arch32 $arch64 $archarm64\""
],
"regex": "(?<version>[\\d.]+) (?<arch32>[^ ]+) (?<arch64>[^ ]+) (?<archarm64>[^ ]+)"
},
"autoupdate": {
"architecture": {
"32bit": {
"url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/$matchArch32/Microsoft.WebView2.FixedVersionRuntime.$version.x86.cab#/dl.7z",
"extract_dir": "Microsoft.WebView2.FixedVersionRuntime.$version.x86"
},
"64bit": {
"url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/$matchArch64/Microsoft.WebView2.FixedVersionRuntime.$version.x64.cab#/dl.7z",
"extract_dir": "Microsoft.WebView2.FixedVersionRuntime.$version.x64"
},
"arm64": {
"url": "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/$matchArcharm64/Microsoft.WebView2.FixedVersionRuntime.$version.arm64.cab#/dl.7z",
"extract_dir": "Microsoft.WebView2.FixedVersionRuntime.$version.arm64"
}
}
}
}