cheers for that Leledumbo, I think I understand the issue now
Is it possible to emulate the method that windows uses
This application will only ever be run once + most often reside on a cd
i.e. storing it at /usr/share/app_name or /opt/app_name is both unnecessary and unwanted
OK Ive found what I need for the macOS
_NSGetExecutablePath()
but this is with C++
what is the equivalent lazarus function?
its not
GetCurrentDir() which is in sysutils
I need something like
GetCurrentExecutableDir()

Seems like such a simple thing is harder than I thought
Is it possible to call the above C++ function with lazarus?
eg like in c++ I can call C functions or asm pieces of code