DFIR-ORC / dfir-orc

Forensics artefact collection tool for systems running Microsoft Windows
https://dfir-orc.github.io
GNU Lesser General Public License v2.1
388 stars 42 forks source link

Can't compile for XP with VStudio 2019 #44

Closed youhgo closed 3 years ago

youhgo commented 3 years ago

Hello and thanks for the tool it is so handy,

Using VS studio 2019

I try to compile ORC for XP using cmake -G "Visual Studio 16 2019" -A Win32 -T v141_xp ..

I have the current warnings :

vcpkg: using v141 toolset as v141_xp is not supported

CMake Warning at src/Orc/CMakeLists.txt:71 (message): : not found, it could be required on some XP SP2 installation

witch correspond to the code :

    if(NOT EXISTS "${ORC_XMLLITE_PATH}")
        # The xmllite.dll is only available on an enoughly patched Windows XP SP2
        message(WARNING "${ORC_XMLLITE_PATH}: not found, it could be required on some XP SP2 installation")

and

CMake Warning at src/FastFind/CMakeLists.txt:64 (message): : not found, it could be required on some XP SP2 installation

to

 if(NOT EXISTS "${ORC_XMLLITE_PATH}")
        # The xmllite.dll is only available on an enoughly patched Windows XP SP2
        message(WARNING "${ORC_XMLLITE_PATH}: not found, it could be required on some XP SP2 installation")

Everything compile fine and the binary works well but not on XP.

I'm assuming i need to setup the build tools for v141_xp and set the platform Toolset for vs-2017 - Windows XP in the Vs project config but i don"t know which project to use since it is already configured in the project as shown in the screen.

screen

I have enabled the windows XP compatibility for C++ in VStudio installer

PS: i tried to use the official binary release but i think it's not compiled for XP as well.

Any advice plz ?

Thanks for the help.

Hugo

fabienfl-orc commented 3 years ago

Hello,

1) The warning about vcpkg About vcpkg: using v141 toolset as v141_xp is not supported is a real thing but until now it was ok to ignore. Unfortunately vcpkg does not guarantee XP support so it can happen that a dependency silently break XP support but I am not sure this is the case here.

2) The warning about xmllite.dll can be important if you want to run on XP SP2 systems. It is a Microsoft library which, I believe, was provided since XP SP3. If you need it, you would have to embed it into Orc. Check https://dfir-orc.github.io/ToolEmbed.html?highlight=xmllite

It is possible that XP support is broken without us noticing. The 10.1.x branch tries to provide better compatibility.

Do not hesitate to share if you have any dialog box or specific behavior on XP execution.

fabienfl-orc commented 3 years ago

If you plan to test the 10.1.x branch then you should build from an alternate source directory. You could still have some issue if you only change the 'build' directory, particularly if you try to rebuild a 10.0.x after.