Как собрать MSIX из командной строки

Мы поняли, что MSIX - это интересная современная альтернатива ClickOnce. Использование с графическим интерфейсом проходит гладко. И мы также хотим использовать его со скриптами Powershell / CMD. (Нам нужен только пакет msix, нет загрузки магазина.)

Вот наша проблема. Я видел документ от MS (https://docs.microsoft.com/en-us/windows/msix/package/manual-packaging-root), но очень частичный. У меня нет особого дела, я только хочу сделать стандартный экспорт скриптом, а не графическим интерфейсом.

Пожалуйста, кто-нибудь может дать мне лучшую инструкцию / руководство, чтобы легко создать пакет msix из командной строки?

Вот шаги, которые я нашел - и частичные вопросы:

  1. Create Manifest.xml - Хорошая документация по содержанию, но где его сохранить? Пользуюсь папкой с * .sln
  2. Сгенерируйте индекс ресурсов пакета - я считаю, что MakePRI.exe, но нужно ли его использовать?
  3. Создайте пакет с помощью MakeAppx - кому и где пользоваться? Даже в стандартном случае мне нужен mapping.txt. Какие файлы он должен содержать? Все из Манифеста? Где я должен разместить файлы - сервер онлайн или локально на ПК? Только картинки для иконок? Где я должен его запустить? Должно ли это место с * .sln или это может быть подпапка? Где должны быть двоичные файлы моей программы?
  4. Создайте пакет приложений - что должно стоять здесь в файле сопоставления, когда я сделаю приложение для x86 и x64?
  5. Подпишите msix - звучит просто - укажите msix-файл и подпись в качестве параметра и запустите

Понимаете, я очень запутался. С графическим интерфейсом - создание MSIX очень просто. Но как это автоматизировать? Кто-нибудь может мне помочь?


person Dominik    schedule 05.11.2020    source источник


Ответы (1)


Мне кажется, что вы здесь ошиблись, по сути, вы пытаетесь изобрести колесо и создать свой собственный инструмент, который собирает пакеты MSIX.

Мне это кажется не очень эффективным. Мы (в Advanced Installer) и другие поставщики, в том числе Microsoft, годами работали над созданием надежных инструментов упаковки MSIX, это не месячная проектная задача, которую вы можете начать с нуля без каких-либо предварительных знаний в предметной области.

Я подозреваю, что вам действительно нужен способ собрать из командной строки проект, который вы создали с помощью Visual Studio, Advanced Installer, InstallShield или любого другого инструмента, который может создавать пакеты MSIX.

Итак, в основном вам нужно использовать графический интерфейс для первоначальной сборки проекта, который будет генерировать ваш MSIX, а затем вы можете использовать приведенные ниже параметры для создания MSIX из этого проекта с помощью командной строки.

Если я ошибаюсь, и вам действительно нужен способ создать пакет MSIX с нуля из командной строки, пожалуйста, обновите вопрос, добавив более подробную информацию, чтобы сообщество могло лучше понять, чего вы пытаетесь достичь, и предоставить вам полезные рекомендации. .

Решение TLDR:

  1. Итак, первым делом вы создадите свой проект MSIX, используя предпочитаемый вами инструмент. Судя по вашему вопросу, похоже, вы используете только VS, поэтому вам нужно использовать Проект упаковки приложений Windows.

  2. Теперь, когда у вас есть .SLN, который содержит ваш исходный код для приложения вместе с вашим проектом MSIX, все, что вам нужно сделать, это запустить сборку из командной строки, с помощью msbuild.

Примечание. Если вы используете сторонний инструмент для создания своего MSIX, то ищите его документацию, все профессиональные инструменты имеют интерфейс командной строки. Вот, например, как вы можете создать проект с помощью расширенного установщика CLI.

person Bogdan Mitrache    schedule 06.11.2020