Моя конечная цель - иметь возможность запускать сценарий установки Powershell на виртуальной машине и фиксировать все изменения, которые он вносит в пакет MSIX. Я могу сделать это вручную без проблем с помощью мастера MSIX Packaging Tool, но мне нужно упаковать множество приложений, и некоторые из них часто обновляются, поэтому я хотел бы, чтобы что-то работало автоматически.
Я пробовал использовать скрипт пакетного преобразования со следующими настройками в entry.ps1:
$virtualMachines = @(
@{ Name = "MSIX Packaging Tool Environment"; Credential = $credential }
)
$remoteMachines = @(
)
$conversionsParameters = @(
@{
InstallerPath = "Cricut Design Space.msi";
PackageName = "CricutDesignSpace";
PackageDisplayName = "Cricut Design Space";
PublisherName = "CN=Cricut";
PublisherDisplayName = "Cricut";
}
)
Это просто говорит мне, что все задания завершены, и не создает файлов MSIX.
Я также пробовал вручную создать этот шаблон:
<MsixPackagingToolTemplate
xmlns="http://schemas.microsoft.com/appx/msixpackagingtool/template/2018"
xmlns:mptv2="http://schemas.microsoft.com/msix/msixpackagingtool/template/1904">
<Installer
Path="L:\Work\scratch\batch-msix-builder\Cricut Design Space.msi"
Arguments="" />
<VirtualMachine Name="MSIX Packaging Tool Environment" Username="user" />
<SaveLocation PackagePath="L:\Work\scratch\batch-msix-builder" />
<PackageInformation
PackageName="CricutDesignSpace"
PackageDisplayName="CricutDesignSpace"
PublisherName="CN=Cricut"
PublisherDisplayName="Cricut"
Version="5.9.8.0" />
</PackageInformation>
</MsixPackagingToolTemplate>
и запустить его с
MsixPackagingTool.exe create-package --template "L:\Work\scratch\batch-msix-builder\template.xml" --virtualMachinePassword "REDACTED"
В результате окно консоли открывается на долю секунды и сразу закрывается. Я даже пробовал это при новой установке Windows, чтобы узнать, было ли что-то с моим компьютером.
Я работал над этим больше дня, и, конечно же, как только я опубликовал в Интернете, я обнаружил, что пошло не так.
Основная проблема заключалась в том, что MsixPackagingTool.exe, похоже, не работает, когда я позволяю ему запрашивать повышение прав, а не явно запускать его из административного окна PowerShell. Вдобавок у меня был искаженный XML. Как только я начал работать из командной строки с повышенными привилегиями, я смог увидеть сообщения об ошибках, выводимые MsixPackagingTool.exe.