It was asked here
if a metro app in windows 8 can launch a desktop program and the answer was "no" because metro apps are "sandboxed".
However, I found an interesting answer in this
I found a solution which is suitable for me. I just made an empty textfile in my app and called it
launcher.yourappyouwanttostart and then executed it with
On the first startup it asks you for the assocation for this file and then you choose the exe file you want to run and from now on every time you execute this file, your app will be started.
I'm new and don't really understand what he means :/ make an empty textfile? Where, how?
Help is much appreciated
Microsoft is really moving away from allowing 1 app to launch another app, there are many security vulnerabilities associated with such a technology, the biggest one being the command injection vulnerability. Microsoft's solution to this problem was to use what is known as the launcher, the launcher doesn't directly launch another application itself, as you would in the days of C++ where you would just call system("Your command") or pre metro where you would fire up a diagnostic process. Rather the launcher, which is, a Microsoft technology that's been around for a while directly calls the OS, to launch the application associated with such a file.
Microsoft allows you to associate file extensions with applications, see the context menu & the "open with" option by right clicking on a file. So Microsoft allows you to make that association and it's through that association that Windows, and more specifically windows 8 will determine the best possible application to open that file extension with.
Rather then you calling note pad, to open a text document through the diagnostic processes, you will now call the launcher, with the file you want to open, and the Launcher/OS will determine which application and the safest way to open the application.
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)