File path for override_update_url

241 views
Skip to first unread message

Rahul Raman

unread,
Sep 15, 2025, 2:59:58 AMSep 15
to Chromium Extensions
I have a manifest v3 extension which is installed in the chromium browsers though profile(in mac) and scripts(in windows).
I am using override_update_url property in my profile.(no update_url in manifest.json).

Eg profile item for chromium browser's - 
<key>installation_mode</key>
<string>force_installed</string>
<key>update_url</key>
<string>file:///{/SomePath/}update.xml</string>
<key>override_update_url</key>
<true/>

The signed crx and .xml file is present locally on my system.
When the profile is installed for the first time, after restarting the browser the extension gets installed and is visible in the chrome://extension page.

If I replace the crx at that location with a new crx(with updated version in manifest.json) and wait for even 10-15 hours(although extension update cycle is ~5hrs in chromium browsers) the extension doesn't gets updated.

After replacing the crx if i simply restart my browser twice then the extension automatically gets updated.

What's the issue here ? The extension should automatically get updated in the 5hrs update cycle.
Is it because of the file:/// path ? If yes, then how after multiple restart its able to read the .xml and update the extension ?

Patrick Kettner

unread,
Sep 16, 2025, 8:14:03 AMSep 16
to Rahul Raman, Chromium Extensions
override_update_url is a boolean, not a string. You should be seeing that the policy has an invalid value if you go to chrome://policy. You can set a different server with the update_url attribute. But a file protocol handler is not supported, it must be http or https. Oliver created the extension update testing tool you can hack on to get this working locally.

--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/2a09d1fd-4b8d-48f0-b181-bde847308a0en%40chromium.org.

Rahul Raman

unread,
Sep 16, 2025, 9:20:16 AMSep 16
to Chromium Extensions, Patrick Kettner, Chromium Extensions, Rahul Raman
Yes as you can check in the sample profile i added i am giving boolean value only to "override_update_url",and the xml url in the update url field.

So the flow is like this - 
I install the Profile.
I install an application App1 on MAC which puts in the crx and xml at a specific location in the system.(the file:/// path given in the profile).
On browser restart the extension gets installed in the browser.
I update App1 and so the crx and xml also gets updated in the system.

Now in the next extension update cycle(~5hrs) my extension doesn't gets updated on its own. So the issue is the file protocol handler ? 
If i will host these xml and crx somewhere else then the auto update will happen ?

Patrick Kettner

unread,
Sep 16, 2025, 9:23:39 AMSep 16
to Rahul Raman, Chromium Extensions
Apologies, I misread the xml

Yes, if you host the xml file from an HTTP source, then the updates will occur.

Rahul Raman

unread,
Sep 22, 2025, 1:19:49 PMSep 22
to Chromium Extensions, Patrick Kettner, Chromium Extensions, Rahul Raman
Thanks for the response.

Instead of restarting browser, if i simply enable the Developer mode and click on Update button on (chrome://extensions) page then the extension gets updated.

Then how come extension is able to read the file:/// path and update itself ?

Rahul Raman

unread,
Oct 6, 2025, 11:44:50 PMOct 6
to Chromium Extensions, Rahul Raman, Chromium Extensions

Can someone please help in this ?
Message has been deleted

Mitchell

unread,
Oct 14, 2025, 6:21:30 AMOct 14
to Chromium Extensions, Rahul Raman, Chromium Extensions
If you have the ability to update the extension, you might try utilizing the chrome.runtime.requestUpdateCheck() method which "Requests an immediate update check be done for this app/extension" and the chrome.runtime.reload() method to immediately reload after an update. 

My only successful experience with this was to setup the updateUrl in the manifest.json then use the ExtensionSettings to define a separate update url (if we ever needed an alternate install path). We used a file path, same as you. Then the extension itself would do the check at the very beginning for an update and perform it if runtime.onUpdateAvailable is invoked.

On a separate note, you might check the chrome verbose logs when starting the browser to verify if the update is happening and seeing if there are any warnings around your extension id. Since you never replied to Patrick that you checked the chrome://policy... I'll also suggest checking that page and verifying that the policy reads "OK" and not "Error" under the Status. And one last suggestion...try adding the ExtensionInstallForcelist policy setting as well... the ExtensionSetting's override_update_url will also try to pull from that file path for the update. Maybe that one will work for you.
Reply all
Reply to author
Forward
0 new messages