Since a very recent Windows 10 update (see there for more information related with JUCE : https://forum.juce.com/t/important-brea ... ault/25276), it is now best practice to link dynamically the Windows runtime library to our compiled plug-ins. If we don't do so, users might run into the "no more than 64 different plug-ins linked statically loaded in the DAW" issue on Windows 10.
In practice, is not only a matter of linking statically or dynamically the runtime librairies. Indeed, in Windows 10, when the specific update has been applied, the universal runtime library is supposed to be available. But in other cases, either simply because we are on Windows 7 to 8.1 or because the computer is not up to date, the runtime might not be available.
So, how do you handle this issue ? Do you care about the static linking issue or not anyway ?
If you care, that means that you have to provide the users a way to download what he needs to run the plug-in anyway. I see different options there :
- Ignoring the issue and compiling everything in static
- Telling the user that he has to update Windows or to get the last version of Visual Studio Redistribuable
- Including in the installer a script to run the Visual Studio Redistribuable which is in the installer binary
- Including in the installer a script to run the Visual Studio Redistribuable which needs to be downloaded on the fly (maybe the most elegant solution)
- Providing two versions of the installer, one with plug-ins statically linked recommended for Windows 8.1 and less, one with dynamic linking for Windows 10 (kill me already for compiling, copying and setting everything there)
- Not telling anything to user, not providing any installer, but still compiling everything dynamically
Thanks in advance !