There is also sysctl(), which returns running process info. Not the full installed app list, but arguably more useful and bonus it doesn't rely on app urls.
A (mostly old) discussion about it on stackoverflow: http://stackoverflow.com/questions/8275578/how-to-get-inform...