Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17586

KeePassX 0.4.4 fails to start, needs SetSearchPathMode from kernel32.dll

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: RosDlls
    • Environment:

      VirtualBox 5.1.38.

      Description

      Download: https://www.keepassx.org/releases/0.4.4/KeePassX-0.4.4-win32.zip.

      The app fails to start properly, due to missing kernel32.dll!SetSearchPathMode API:

      (/dll/ntdll/ldr/ldrpe.c:1047) Failed to snap KERNEL32.dll!SetSearchPathMode for KeePassX.exe
      

      See full keepassx.log for details and keepassx-error.png screenshot.

       

      According to MSDN, this function was introduced starting from Windows 7/Server 2008 R2, but is also available for XP/2K3 via update (see "Redistributable" item in "Requirements" section), so it already exists in XPSP3/2K3SP2 as well.
      Also, the proof for that is, this app runs successfully there, as visible on the keepassx-xp.png screenshot.

      I implemented SetSearchPathMode and RtlSetSearchPathMode, which the 1st one should call from ntdll, and after this, the app also starts successfully in ROS, as visible on keepassx-ros.png screenshot. All my changes are attached in SetSearchPathMode.patch as well (experimental). PR will be follow soon.

      Tested build: 0.4.15-dev-2359-g0dedb9b.

        Attachments

        1. exported_on_xpsp3_kernel32.PNG
          exported_on_xpsp3_kernel32.PNG
          36 kB
        2. keepassx.log
          56 kB
        3. keepassx-error.png
          keepassx-error.png
          52 kB
        4. keepassx-ros.png
          keepassx-ros.png
          53 kB
        5. keepassx-xp.png
          keepassx-xp.png
          342 kB
        6. SetSearchPathMode.patch
          5 kB

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                Oleg Dubinskij Oleg Dubinskiy
              • Votes:
                2 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: