Just download the binaries and run the installer. Would you need anything else for software distribution?
The rise of the AppStore
Mobile devices showed us the trend. Your Android device will load new apps from Google Play or Huawei's AppGallery (or any of the alternatives). On iOS, padOS, watchOS or tvOS, it is Apple's AppStore.
In the middle tier, Windows and macOS, the success is a mixed bag. Despite all attempts (Apple I'm looking at you), the bulk of apps are still "download and install". So each app has to implement its own update check (Unless you use Homebrew with its heritage in Linux).
Servers and components
On Linux package managers have been established for quite a while any you find most software in rpm, deb or Snap format. Local package managers can be set up to install packages automatically based on criteria (e.g critical updates)
With the ready availabily of repositories (App stores are nothing more than repositories with UI and billing), what does that demand from your app?
In short: make it easy to accquire and update your code
- on mobile swallow the frog and publish to an app store
- on desktops: if your main customers are individuals, the app store might save you the headache of a good update strategy. When companies are your target: make it jamf / WSUS friendly
- on servers: a package repository, inlcuding the ability to deploy to a corporate repository is a must. This applies to updates too
- components: you need a registry. Should you consider none of the established public ones as suitable, provide your own
Of course, you can consider retro a charm and be left behind
As usual YMMV