Я пытаюсь создать установщик для загрузки приложения Windows 10. В какой-то момент установщик вызывает PowerShell (x86) для выполнения следующей команды:
Add-AppxProvisionedPackage -Online -PackagePath $pkgPth -DependencyPackagePath $dp1Pth,$dp2Pth,$dp3Pth -SkipLicense
Вот где я получаю эту ошибку:
System.Runtime.InteropServices.COMException (0xC1570108 ): Пакет не соответствует требованиям для подготовки к целевому образу.
Когда я пытаюсь выполнить команду с 64-битной версией PowerShell, установка проходит нормально.
Пакет, который я создал, представляет собой пакет x86. Все пути зависимостей указывают на зависимости x86. Просматривая документацию Microsoft для командлета Add-AppxProvisionedPackage , я не вижу ничего, что могло бы указывать на проблему с версией x86.
У меня включена загрузка неопубликованных приложений, и я установил разработчик сертификат (и сообщение об ошибке не предполагает, что это все равно будет проблемой). Я также запускаю PowerShell как администратор.
Что-то мне не хватает при сборке пакета (поскольку сообщение об ошибке заставит меня поверить)? Или чего-то не хватает в моем вызове Add-AppxProvisionedPackage?
ОБНОВЛЕНИЕ: я попытался написать командный файл для вызова DISM вместо использования PowerShell. Он работает, пока я вручную вызываю пакетный файл, но когда установщик вызывает пакетный файл, я получаю ту же ошибку 0xC1570108, что и при использовании PowerShell (x86).
Я не уверен, что это актуально, но я использую NSIS для своего установщика и вызываю командный файл следующим образом:
nsExec::ExecToLog '$INSTDIR\path\mybat.bat $SOME_ARGS'