@ales.najmann I bumped the build of babashka in appveyor from the visual studio 2017 image to 2019. This may mean something for the required redistributable but not sure.
I runs fine on my Windows 11 computer
vcredist20XX maybe. I'll check.
I updated depends to vcredist2019 It looks like they maintain some sort of binary compatibility on newer versions of these libs, so it maybe working even without being on the newest version.
is there a way to check on which redist a binary depends?
thanks btw
the binary here: https://github.com/babashka/babashka-dev-builds/releases/tag/v1.2.175-SNAPSHOT should be the one compiled with vsstudio 2019
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>dumpbin /dependents C:\Users\borkdude\Downloads\bb.exe
Microsoft (R) COFF/PE Dumper Version 14.27.29111.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file C:\Users\borkdude\Downloads\bb.exe
File Type: EXECUTABLE IMAGE
Image has the following dependencies:
VERSION.dll
ADVAPI32.dll
WS2_32.dll
USERENV.dll
MSWSOCK.dll
USER32.dll
KERNEL32.dll
VCRUNTIME140.dll
VCRUNTIME140_1.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
WINHTTP.dll
ncrypt.dll
CRYPT32.dll
Secur32.dll
IPHLPAPI.DLLIt seems like it may still work with the 2015 redistributable
If I undestand what's written here: https://learn.microsoft.com/en-us/cpp/windows/determining-which-dlls-to-redistribute?view=msvc-170 yes, it should be working.
+ binary compatibility section
But I'm no C++ developer 😕
I noticed when upgrading bb in scoop that it already asked me to upgrade the redist
yes, what they recommend is to use the same "year" version as the VC++
ok
does redist 2019 work on a system from 2018?
it's a bit problematic to test though, because our systems are usually already polluted by all the versions that are out there... or nothing at all.
yes, it will work and you an actually have more of them at the same time
and when you specify a dependency on redist 2019 and another package wants 2015, how does that work? since you can only have one of them installed
I understood that the newest one will overwrite the older one
it's per package, other packages can link to 2015 or whatever other version
ok
I guess we'll hear from bb users and change when necessary but perhaps the change wasn't necessary yet. 🤷
can be, but again, it's really hard to test
for example I have 2019 installed on system level already by some other application I don't know about right now
it's a mess
"Dev had a problem and thought he would solve it with dynamic linking. Since then he has had two problems."
is static linking available on Windows? don't think so right
I believe it is possible, there is a tutorial https://learn.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=msvc-170 for example. I just think it's not the common way to do on Windows.
at least it's not possible today with graalvm
the only OS that is supported with graalvm with this is linux