Skip to content

General update flow #7059

@danieljurek

Description

@danieljurek

Windows

  • Check that there are no other azd.exe processes running (for the specific running azd.exe path) excluding the current executing process ID. If other azd.exe files are running, print a message telling the user to run update when there are no other instances of azd.exe running.
  • Detect install configuration. If non-standard, abort and advise the user to install with a per-user configuration in the default install directory. See readme
    • ALLUSERS==2
    • INSTALLDIR=="%LOCALAPPDATA%\Programs\Azure Dev CLI"
  • Download aka.ms/install-azd.ps1 and call it with the appropriate params (-Version daily for daily channel -Version stable for stable channel). This process would need to live on past the lifetime of the current running azd.exe.
  • Quit immediately so install can finish

Linux/MacOS

Use installed_by.go for figuring out the value of .installed-by.txt

Homebrew

If the .installed-by.txt file has the value brew then we do a homebrew update. Else, update using the install script.

  • Execute brew tap azure/azd && brew install azure/azd/azd

This doesn't support the dev channel today. Support for dev channel is incoming.

Install Script

If .installed-by.txt file has the value install-azd.sh

  • Download aka.ms/install-azd.sh
  • Determine --install-folder dirname where azd binary is
  • Run install-azd.sh with --version daily or --version stable and --install-folder and with --symlink-folder="" so that the symlink doesn't get changed (assume the user's environment is set up properly)

Other install methods

If .installed-by.txt on Linux/MacOS is not brew or install-azd.sh, abort and tell the user to install azd using one of the methods supported by azd update.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions