I created a dll based off a sample project that is several years old. I am building the dll and can register this dll successfully on my computer which has both 2010 and 2015-2019 C++ redistributables installed. When I try to install this same dll on a computer with only 2015-2019 c++ redistributables installed, registration fails. After installing the 2010 c++ redistributables on that machine, the dll installed successfully. I would like to be able to register this dll on a computer with only the 2015-2019 redistributables installed. I assume this has something to do with the configuration of the project which I'm building in Visual Studio 2019. I've poked through all the properties but nothing stands out. Would appreciate someone pointing me in the right direction!
Update: The sample I am referring to comes with the Windows sdk and can be found here: C:\Users\user\Source\Repos\Windows-classic-samples\Samples\Win7Samples\winui\shell\appshellintegration\RecipeThumbnailProvider When I opened it up in Visual Studio 2019 it did some kind of update, but doesn't seem to have affected the redistributable it depends on.
This ended up being related to the fact that I'm using JNI and was dependent on jvm.dll. I was using the jvm.dll from Java 8u202. This version of the dll is dependent on the 2010 C++ Redistributables. Starting with Java 8u261 jvm.dll is dependent on the 2017 Redistributables (source).
Dependency Walker is outdated, but this newer tool, Dependencies, worked with my dll.