Skip to content

Improve Build Workflow / Visual C++ Redistributable #41

@Meowchestra

Description

@Meowchestra

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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions