Library not loaded: @rpath/advapi32.dll

Issue #90 resolved
Karel Rys created an issue

Hello,

When I try to run my CrossVCL app, I get an error: dyld: Library not loaded: @rpath/advapi32.dll Reason: image not found

Is it possible to find out all missing libraries and/or routines at once? I would use that information to make the decision, whether to use CrossVCL, or completly recreate all forms in FMX. Of course using CrossVCL would be prefered (much easier, faster...), but now I do not know, which parts of the application are making trouble and whether it is possible to change just a few things, or there are much more problematic parts.

Thank you, kind regards,

Karel

Comments (5)

  1. Eugene Kryukov repo owner

    Do you use any third-party components ?

    We trying to cover all WinAPI calls of standard VCL. But there are no way to check all used calls in whole app. You can try to compile using Linux compiler, it doesn't allow to link any missing DLL or even calls.

  2. Karel Rys reporter

    Unfortunatelly, I am using some: Fastreport, TMS components, ComPort, Zeos... Linux compilation is not included in my Delphi 10.2 Pro. (I have made some chanegs to Fastreport and TMS, so that they do compile.)

    I can list imported routines, when I look in .exe version of the app:

    advapi32.dll

        0x00E839BA         0   RegQueryValueExW
        0x00E839CE         0   RegOpenKeyExW
        0x00E839DE         0   RegCloseKey
        0x00E8638A         0   RegUnLoadKeyW
        0x00E8639A         0   RegSetValueExW
        0x00E863AC         0   RegSaveKeyW
        0x00E863BA         0   RegRestoreKeyW
        0x00E863CC         0   RegReplaceKeyW
        0x00E863DE         0   RegQueryValueExA
        0x00E863F2         0   RegQueryValueExW
        0x00E86406         0   RegQueryInfoKeyW
        0x00E8641A         0   RegOpenKeyExA
        0x00E8642A         0   RegOpenKeyExW
        0x00E8643A         0   RegLoadKeyW
        0x00E86448         0   RegFlushKey
        0x00E86456         0   RegEnumValueW
        0x00E86466         0   RegEnumKeyExW
        0x00E86476         0   RegDeleteValueW
        0x00E86488         0   RegDeleteKeyW
        0x00E86498         0   RegCreateKeyExW
        0x00E864AA         0   RegConnectRegistryW
        0x00E864C0         0   RegCloseKey
        0x00E864CE         0   GetUserNameW
        0x00E88284         0   RegNotifyChangeKeyValue
    

    .....

    But I guess you already had to deal somehow with most of them, even without creating this advapi32.dll?

  3. Eugene Kryukov repo owner

    The problem not in this routines, the problem that your third-party components needs this dll "advapi32.dll". You should change name to CrossVclLib

  4. Log in to comment