Я только что создал один из шаблонов проектов, предлагаемых Visual Studio 2012 (шаблон «Split App (XAML)», доступный через «Шаблоны» -> «Другие языки» -> Visual C # -> «Магазин Windows» в диалоговом окне «Новый проект»).
Я могу запустить приложение из Visual Studio 2012 и запустить его с начального экрана Windows 8, но если я попытаюсь запустить сгенерированный исполняемый файл напрямую (например, с помощью проводника Windows или из командной оболочки), появится ошибка на весь экран печатается сообщение «Это приложение не может работать на вашем компьютере».
Просмотр запущенного экземпляра приложения через Process Explorer показывает, что оно a) просто связывается с MSCOREE.DLL среды выполнения .NET и b) оно вызывается с помощью командной строки, например:
"[..] \bin\Debug\AppX\WindowsStoreSample.exe" -ServerName:App.AppXgsxd2athqtr03f55we0938hcn632we3k.mca
Мой актуальный вопрос: как правильно запустить приложение такого типа программно? Буду ли я использовать простой CreateProcess
а затем попытаться собрать командную строку, как показано выше? Если так, как я могу определить правильный -ServerName
аргумент? Или есть какой-то другой способ запуска таких приложений?
Правильный способ запуска приложений Магазина Windows — использовать IApplicationActivationManager
интерфейс. Это также то, что сама Visual Studio использует для запуска приложения. Все методы интерфейса имеют DWORD
Выходной параметр, который получает PID недавно запущенного процесса.
Других решений пока нет …