Skip to main content

Supported Runtime / OS

Applies to
Windows
MacOS
Linux

Similar to how you provide a RID to dotnet to designate your target operating system and architecture, you can do the same for Velopack to tell it what your application supports.

An RID is composed of three parts ({os}{version?}-{arch})

  • os: operating system (win, osx, or linux)
  • version: optionally, specify minimum supported version (eg. win7, win8.1, win10.0.18362)
  • arch: optionaly, specify supported CPU architecture (eg.win-x86, win-x64, win-arm64)

If you were to provide the RID --runtime win10-arm64, any users trying to install your app on Windows 7, 8, or 8.1 will receive a message saying their operating system is not supported. Similarly, if a Windows 11 user with an x64 cpu were trying to install - it would also fail with a helpful message that their CPU is not supported.

If trying to target Windows 11, they did not increment the major build number from 10 to 11. Anything >= build 22000 is classified as Windows 11. For example:

  • win11 == win10.0.22000
  • win11.0.22621 == win10.0.22621

On MacOS, the RID (min version and arch) is just stored as metadata in the .pkg which will be handled natively by the operating system.

tip

Runtimes indicate what version and architecture your application supports, but does not enable cross compiling which allows you to compile releases for a OS different for the one you are using. See more about cross compiling here.

Also read