We do not build OpenSSL library ourselves. Instead, we are using one of the prebuilt binaries (https://slproweb.com/products/Win32OpenSSL.html) from this link (https://wiki.openssl.org/index.php/Binaries).
The one we are using is built using Visual Studio 2013 and this adds a dependency on Visual C++ 2013 Redistributable package. It must be installed for OpenSSL library to function properly.
When we were using Visual Studio 2013 to compile DB Browser for SQLite there were no problems, since we were bundling Visual C++ 2013 Redistributable along with it, that both DB4S and OpenSSL required.
After moving to Visual Studio 2015/2017 for building both the 32-bit/64-bit versions of DB4S we started bundling Visual C++ 2015/2017 Redistributable packages instead and then all hell broke loose!
We started getting reports of DB4S crashing at startup, missing DLLs, unable to check for updates, and so on. It was hard to diagnose.
Until, one day, @glawrence found out the cause of the problem (#1915 (comment)). 👏 🎉
I dug a little further and used PEStudio to find that msvcr120.dll is used by both libeay32.dll ssleay32.dll, so there is an indirect use.
Sorry for the long post but all I wanted to say is .. we should really build OpenSSL oursevles. 😄
We could also try to find a different prebuilt binaries from (https://wiki.openssl.org/index.php/Binaries) but I think we should build it with the same compiler that builds DB4S to avoid any future problems.
In the meantime, if you have this problem or you were directed at this issue, please install Visual C++ 2013 Redistributable:
We do not build OpenSSL library ourselves. Instead, we are using one of the prebuilt binaries (https://slproweb.com/products/Win32OpenSSL.html) from this link (https://wiki.openssl.org/index.php/Binaries).
The one we are using is built using Visual Studio 2013 and this adds a dependency on Visual C++ 2013 Redistributable package. It must be installed for OpenSSL library to function properly.
When we were using Visual Studio 2013 to compile DB Browser for SQLite there were no problems, since we were bundling Visual C++ 2013 Redistributable along with it, that both DB4S and OpenSSL required.
After moving to Visual Studio 2015/2017 for building both the 32-bit/64-bit versions of DB4S we started bundling Visual C++ 2015/2017 Redistributable packages instead and then all hell broke loose!
We started getting reports of DB4S crashing at startup, missing DLLs, unable to check for updates, and so on. It was hard to diagnose.
Until, one day, @glawrence found out the cause of the problem (#1915 (comment)). 👏 🎉
Sorry for the long post but all I wanted to say is .. we should really build OpenSSL oursevles. 😄
We could also try to find a different prebuilt binaries from (https://wiki.openssl.org/index.php/Binaries) but I think we should build it with the same compiler that builds DB4S to avoid any future problems.
In the meantime, if you have this problem or you were directed at this issue, please install Visual C++ 2013 Redistributable: