Перейти к содержанию
Fire Monkey от А до Я
  • 0

Упаковка всех файлов приложения в appx


Вопрос

В RAD Studio, начиная с Berlin, предусмотрена возможность создавать пакеты appx для загрузки приложений в Microsoft Store. К сожалению, материалов на эту тему пока немного, толковая ссылка нашлась лишь одна:

https://community.embarcadero.com/blogs/entry/appx-development-for-windows-10-store

Там толково объяснено, как создать appx для приложения из одного исполнимого файла. Я попробовал, всё получилось. Но как быть, если пакет должен содержать и другие файлы? В моем случае это файл базы данных, целая папка html-файлов для хелпов, и т.п. Где я должен их указать? Логично было бы предположить, что за это ответственен манифест (Project => Options => Application => Manifest File), который можно кастомизировать. Но сколько я ни гуглил, не смог найти ничего о структуре этого манифеста применительно к файлам. Похоже, манифест здесь все-таки ни при чем.

Раньше я всё это делал в Inno Setup. Как поступать теперь - непонятно...

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
5 минут назад, wamaco сказал:

деплой же...

А что деплой? Если вызвать Project => Deploy ... , то молча построится пакет appx, безо всяких дополнительных вопросов.

Ссылка на комментарий
  • 0
2 часа назад, wamaco сказал:

Получилось?

Пока не понял. Один файл добавляется легко. Но хотелось бы уметь добавить целую папку со всем ее содержимым, а не расписывать каждый файл отдельно. У меня их там десятки, если не сотни.

Еще не вполне понятна графа "Remote path". Если я хочу, чтобы файл был положен в папку, где по умолчанию будут храниться данные моего приложения (типа <user>\AppData\Roaming\MyApp), то должен быть какой-то макрос для этого дела.

Ссылка на комментарий
  • 0

Вообще, не могу пока понять, какому принципу должно следовать размещение файлов в приложениях UWP. Раньше я всегда хранил файлы, куда могли писать пользователи, в отдельной папке (AppData), где всегда гарантирован доступ. Теперь же в разных местах (например, здесь) читаю, что приложения UWP имеют доступ к любым файлам. Коли так, то теперь никаких отдельных папок городить и не надо, можно всё валить в одну кучу вместе с исполнимым файлом. Правильно?

Ссылка на комментарий
  • 0
6 минут назад, wamaco сказал:

Да

Замечательно! Но правильно ли я понимаю, что UWP-приложение, которое у меня получится, будет работать только под Windows 10, а для пользователей семерок и восьмерок придется держать отдельный дистрибутив?

Ссылка на комментарий
  • 0
24 минуты назад, wamaco сказал:

Совершенно верно!

Благодарю вас за решительный и однозначный ответ!

Последнее, что осталось уяснить: есть ли какой-нибудь способ программным образом узнать из приложения, что оно является UWP-приложением?

Можно было бы, конечно, заложиться на наличие или отсутствие в папке определенных файлов - но пользователи бывают изобретательны на всякую дурость.

Ссылка на комментарий
  • 0

Обнаружилась еще одна проблема. Если запаковывать в appx слишком много файлов (у меня было более трехсот - в основном, картинки, используемые в хелпах), то в ходе выполнения процедуры deploy вся среда виснет. Приходится закрывать через Task Manager. Хорошо еще, что я смог снизить количество файлов до двухсот без каких-либо потерь (объединил картинки в блоки), а то не знаю, как бы вышел из положения. Экспериментально установить точную границу поленился - возможно, она равна 256 файлам. Так или иначе, проблема есть, и хорошо было бы от нее в будущем избавиться.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...