For the record, i actually found out that in VS2013 you can choose to build your project for XP
Yes, that's what I had in mind in my first posts in this thread and then clarified a bit in post #41 above. But the question is what this really means. Alright that the compiler does not itself creates anything that requires newer versions than XP, but the resulting exe or dll still depends on msvcr120.dll. So, when Wonko realized that he had seen different versions of msvcr120.dll around, I came to think that there might be separate official versions of msvcr120.dll and msvcr110.dll with only XP compatible dependencies that together with a project built with an XP compatible toolset will create something that runs on XP. But I'm not sure about the last part of this.
But like I mentioned in another post earlier, if you install an earlier version of Visual Studio on the same machine, you can also choose the Visual C++ compiler toolset that comes with that older version within the project settings in Visual Studio 2013 as well. The libyal projects are originally Visual Studio 2008 projects, so it should never be a problem to build them in Visual Studio 2013 with Visual Studio 2008 Platform Toolset. As an example of Platform Toolset settings and because I happen to be the kind of person who wants to be able to build anything possible out of anything available, my Visual Studio Platform Toolset dropdown list looks like this:
Now, I have seen that the Visual C++ compiler that comes with Visual Studio 2008 has a version number very close to the version number of the C++ compiler compiler that comes with Windows Driver Kit 7. Since WDK 7 has libraries for targeting Windows versions and their corresponding system dlls rather than a particular Visual C++ version and corresponding msvc[r/p][m][nnn].dll, I thought that it might be possible to select Visual Studio 2008 Platform Toolset in Visual Studio 2013 and then manually change VC++ library directories (other sections of the same dialog) to point to WDK 7 library directories instead of the usual VC++ library directories. That way I hoped that it would be possible to avoid VC++ runtime dependencies without the need to create WDK 7 projects with their completely different kind of build scripts. The libyal libraries consist of many different projects, so that would have meant huge amount of work so that was definitely something I wished to avoid. So the idea, since the VS 2008 and WDK 7 compiler versions are almost the same the compiler should not expect anything in the target libraries that it wouldn't find in the WDK 7 libraries. This idea with simply switching libraries without creating new projects for everything seemed to work fine and the results are the dll and exe files I published in the other thread.