add function RunAppLauncher to have the choice for different application launcher to use
update dependencies to support RunAppLauncher
updated