I have a need to provide a default application download URL in my primary site call to action (CTA) link for Windows, macOS and Linux.
In my case this is for an application built using electron-builder, though I'd also be curious in a general pattern that handles at least iOS and Android too, specifically:
- a Linux user (whether Firefox, Chromium, Chrome, etc) will by default get let's call it URL1 from a latest-linux.yml file hosted in cloud storage
- a macOS user (whether Safari, Firefox, Chrome, etc) will by default get let's call it URL2 from a latest-mac.yml file hosted in cloud storage
- a Windows user (whether IE, Firefox, Chrome, Edge, Opera, etc) will by default get let's call it URL3 from a latest.yml file hosted in cloud storage
- a mobile browser user (whether iOS Safari, iOS Firefox, Android Firefox, Android Chrome, etc) will in my case get some kind of pleasant "are you sure you're in the right place?" by default, i.e. no download URL
- for completeness, ideally all URLs are accessible on all platforms, though likely only in the fine print after this default CTA
P.S. I do realise much of the world is moving towards app stores for distribution, though not all of us are, at least in the enterprise space.
EDIT: There's a much more detailed answer here too.