Я ищу способ объединить все мои ссылки на приложения в общий каталог внутри пакета AppX. Типы проектов ссылок являются стандартными проектами Visual C++ (Win32). Текущая структура моего решения выглядит следующим образом:
Структура решения
* Solution
|__ Exe_1 (Visual C++ Project)
|__ Exe_2 (Visual C++ Project)
|__ Exe_3 (Visual C++ Project)
|
|__ MyApp (AppX Project)
|__ Applications
| |__ Exe_1
| |__ Exe_2
| |__ Exe_3
|___ Images\
|___ Package.appxmanifest
После публикации решения и развертывания пакета AppX я получаю следующую структуру каталогов:
[ Фактическая ] развернутая структура каталогов AppX
Com.MyApp.12107._cx40ttqa_n3.48019.0_x64zyj5
|__ Exe_1\Exe_1.exe
|__ Exe_2\Exe_2.exe
|__ Exe_3\Exe_3.exe
[ Ожидается ] Развернутая структура каталогов AppX
Com.MyApp.12107._cx40ttqa_n3.48019.0_x64zyj5
|__ Exe_1.exe
|__ Exe_2.exe
|__ Exe_3.exe
Что я пробовал
- Я попытался следовать это руководство в MSDN, но оно не помогло для проектов на основе Visual C++.
- Изменение выходного каталога в свойствах проекта исполняемого файла не дало никакого эффекта.
- В проект AppX добавлено событие после сборки для ручного перемещения файлов.
Чего я хочу достичь
Результат аналогичен тому, как Apple удалось упаковать файлы, связанные с iTunes, в корневой каталог приложения.
ОБНОВЛЕНИЕ №1
Я отредактировал файл MyApp.wapproj
в проекте AppX и изменил следующие строки:
<ProjectReference Include="..\Exe_1\Exe_1.vcxproj">
<OutputItemType>Content</OutputItemType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</ProjectReference>
После внесения изменений EXE-файл теперь только копируется, но не используется в качестве реальной точки входа. Случай аналогичен методу события после сборки.