-
-
Notifications
You must be signed in to change notification settings - Fork 3
Improve Build Workflow / Visual C++ Redistributable #41
Description
Currently the application requires users to have Microsoft Visual C++ Redistributable installed to run MidiEditor.
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
fluidsynth's build workflow creates concrt*.dll, msvcp*.dll, & vcruntime*.dlls, which we exclude intentionally to keep the installer folder tidy.
Qt6's windeployqt can also include vcredist files but currently is being compiled with --no-compiler-runtime.
For Windows desktop applications, the required runtime files for the compiler are also copied to the deployable folder by default (unless the option --no-compiler-runtime is specified). In the case of release builds using Microsoft Visual C++, these consist of the Visual C++ Redistributable Packages, which are intended for recursive installation by the application's installer on the target machine. Otherwise, the shared libraries of the compiler runtime are used.
https://doc.qt.io/qt-6/windows-deployment.html
- Should we include shared lib dlls to allow the application to always run?
Making the installation folder messier since static linking / embedding into exe requires building Qt6 from source? - Should we just package and run the vcredist installer in the Qt offline installer?
Looking at other Qt applications (qBittorrent & OpenRGB), they do not include shared vcredist dlls in their portable artifact builds. (Requiring users to have or install vcredist manually to run.)