• Vladislav Vaintroub's avatar
    MDEV-22555 Windows, packaging: binaries depend on vcruntime140_1.dll, which is not in MSI · 3bfe305c
    Vladislav Vaintroub authored
    When server is compiled with recent VS2019, then executables,
    have dependency on  vcruntime140_1.dll
    
    While we include the VC redistributable merge modules into our MSI package,
    those merge modules were stale (taken from older VS version, 2017)
    
    Since VS2019 brough new DLL dependency by introducing new exception handling
    https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64
    thus the old MSMs were not enough.
    
    The fix is to change logic in win/packaging/CMakeLists.txt to look up for
    the correct, new MSMs.
    
    The bug only affects 10.4,as we compile with static CRT before 10.4,
    and partly-statically(just vcruntime stub is statically linked, but not UCRT)
    after 10.4
    
    For the fix to work, it required also some changes on the build machine
    (vs_installer, modify VS2019 installation, add Individual Component
    "C++ 2019 Redistributable MSMs")
    3bfe305c
CMakeLists.txt 9.2 KB