A packaged app launch_path pointing to / will not show the app but the directory listing. It should be easy to validate if the launch_path points to an existing file.
Same for hosted?
For a packaged app, the launch_path refers to a static asset that must exist.
For a hosted app, it is optional, pointing to an index asset if not specified, or a network request-able asset otherwise.