Запустите sdbinst.exe и / или DISM после установки MSIX

Для тех, кто имеет опыт разработки пакетов MSIX вне Visual Studio.

Кейс: у моего клиента (издателя игры) есть название, которое нужно разместить в MS Store. Код недоступен, только двоичный. Двоичный файл, помимо файлов + реестров, требует установки прокладки sdb (для настройки обратной совместимости с более ранними ОС MS) через sdbinst.exe, а также для включения DirectDraw через DISM.

Innosetup (на данный момент я выбрал программу установки) имеет специальный раздел, в котором я могу выполнить указанное выполнение CLI после установки, но я не могу найти ничего подобного для MSIX.

Если вам понадобится дополнительная информация, дайте мне знать.

Заранее благодарим вас за понимание. С уважением.

1 ответ

Решение

В отличие от установщика на основе MSI или сценария, пакет MSIX очень ограничен в том, что касается выполнения специального кода во время установки.

Недавно Microsoft представила возможность запуска сценария PowerShell при запуске / выходе из вашего приложения. Возможно, вы можете использовать это как обходной путь, но, как я уже сказал, я не знаю, принимают ли они такие пакеты в магазине.

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

Другие вопросы по тегам