I guess u have to use dbus calls to launch apps from program. I use dbus calls in my app Shortcut Stash and it works fine. I read the EXEC parameter from the desktop file and launch the app using dbus.