# Airgap standalone Elastic Agent Upgrade

**URL:** <https://discuss.elastic.co/t/airgap-standalone-elastic-agent-upgrade/386355>\
**Category:** Elastic Agent\
**Created:** [May 15, 2026, 7:16am UTC](https://discuss.elastic.co/t/airgap-standalone-elastic-agent-upgrade/386355 "2026-05-15T07:16:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ryan\_Clark](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ryan_clark/32/44467_2.png) [@Ryan\_Clark](https://discuss.elastic.co/u/Ryan_Clark)\
**Post date:** [May 15, 2026, 7:16am UTC](https://discuss.elastic.co/t/airgap-standalone-elastic-agent-upgrade/386355/1 "2026-05-15T07:16:44Z")

</div>

I'm running a standalone agent on an airgap Windows system using the zip deployment. I'm trying to upgrade from 8.19.0 to 8.19.15 as a test.

It appears that there is a way to use the `elastic-agent.exe upgrade` command with the `--source-uri` argument (docs say this argument accepts `file://<file path>`) to point to an Elastic Agent zip package to upgrade the agent and it appears to want to always look in "~\Elastic\Agent\data\elastic-agent-X.X.X-xxxxxx\downloads" no matter the path you give it.

I tried multiple paths (and slash variants) and even tried putting the zip file in the place it is looking for and it still fails claiming it can't find the zip package. Ironically after the command fails, it deletes the zip file I place in the downloads folder.

Am I doing this wrong? Is this supported?

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/e/1/e16408a49ee004428739f30c375c60c67afc6d21.png)

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/c/2/c208b5c64575bd300a1040c8f3abe0c859b83e25.png)

---

<div class="post-metadata">

**Author:** ![covj12](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/covj12/32/147474_2.png) [@covj12](https://discuss.elastic.co/u/covj12)\
**Post date:** [May 21, 2026, 5:31am UTC](https://discuss.elastic.co/t/airgap-standalone-elastic-agent-upgrade/386355/2 "2026-05-21T05:31:54Z")

</div>

Hi, The `file://` isn't actually supported for `--source-uri`. the official command reference ( [https://www.elastic.co/guide/en/fleet/8.19/elastic-agent-cmd-options.html#elastic-agent-upgrade-command](https://www.elastic.co/guide/en/fleet/8.19/elastic-agent-cmd-options.html#_options_9) ). For air-gapped upgrades, the supported approach is to host your own artifact registry and point `--source-uri` at it. See the [Air-gapped environments docs](https://www.elastic.co/guide/en/fleet/8.19/air-gapped.html) for details.

---

<div class="post-metadata">

**Author:** ![Ryan\_Clark](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ryan_clark/32/44467_2.png) [@Ryan\_Clark](https://discuss.elastic.co/u/Ryan_Clark)\
**Post date:** [May 21, 2026, 6:50am UTC](https://discuss.elastic.co/t/airgap-standalone-elastic-agent-upgrade/386355/3 "2026-05-21T06:50:31Z")

</div>

Yeah, now that I'm looking, it appears that the `file://` option is supported in 9.x ([Elastic Agent Upgrade - Source-URI](https://www.elastic.co/docs/reference/fleet/agent-command-reference#source-uri)) and if I change the version to 8.19.x on the docs page, it isn't listed. In my case, hosting my own registry is not possible in this environment. I'm running standalone agents. I guess since this does seem to be supported in newer versions, this is resolved by upgrading.
