No sé si Delphi lo tiene, pero Free Pascal incluye la función
GetAppConfigDir Aunque en principio devuelve la ruta del directorio donde guarda la configuración, en Windows el directorio con la configuración "global" suele coincidir con el directorio de instalación y el de configuración "local" suele coincidir con el directorio "de usuario".
Así mismo existe la función
GetCurrentDir que, en el caso de Windows y si ejecutas desde el menú del sistema, suele ser el directorio de instalación, salvo que se cambie con
SetCurrentDir o se ejecute desde consola.
La ventaja de estos métodos frente a SHGetFolderPath es que si en el futuro decides pasarte a otro sistema operativo (MacOS, BSD, Linux, BeOS...) te será más fácil, ya que esta última función es exclusiva de Windows.