squirrel.windows 1.7.8-1.9.0 Невозможно создать файл Setup.exe и RELEASES в -releaseDir

Я использую конвейер выпуска DevOps Azure для развертывания приложения WPF.

В CI у меня есть задача копирования файлов с целью создания build.artifactstagingdirectory. В содержимое я включаю: - src\SolutionDirectory\ProjectDirectory\bin\$(BuildConfiguration)** - src\SolutionDirectory\ProjectDirectory\Release.nuspec - packages\squirrel.windows.1.8.0**

На компакт-диске у меня есть два скрипта PowerShell. Один для операции с пакетом, а другой для освобождения

пакет

$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"

$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion)

nuget pack .\Release.nuspec -Version $version -Properties Configuration=Release -OutputDirectory .\bin\Release\ -BasePath .\bin\Release\

Releasify

Set-Alias squirrel "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/packages/squirrel.windows.1.**/tools/squirrel.exe"

$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"

$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion )

squirrel --releasify "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.$version.nupkg" --no-msi --releaseDir $(DevDeployDir)

DevDeployDir - это переменная, указывающая на каталог развертывания локального сервера.

Я могу только освободить.nupkg. RELEASES и Setup.exe отсутствуют, я также попытался добавить команду Start-Sleep в конце, потому что я думал, что процесс освобождения может быть остановлен слишком рано.

Это похоже на задачу powershell в Azure DevOps, который запускает Slaverel Releaseasify в фоновом режиме, но, поскольку Squirrel является асинхронным (мне так сказали, и, просматривая некоторый фрагмент кода, кажется, что так), он завершается сразу и только **.nupkg. и **-full.nupkg созданы. Поэтому я чувствую, что он начинает преобразовывать пакет в версию с белками, но останавливается после завершения команды powershell.

Этого не происходит, когда я вручную освобождаю через PowerShell на диске сервера. Я вижу, что файлы в моем рабочем каталоге генерируются в следующем порядке.

**.nupkg **-full.nupkg удаляет **. nupkg создает программу установки, кроме необязательной программы Setup.msi

Если кому-то нужно больше информации, я был бы рад поделиться. Кто-нибудь знает, достижимо ли это?

Ссылка на открытый выпуск GitHub

0 ответов

@ Махди Халили

Да, это должна быть семантическая версия, и это не во время установки, а во время выпуска, поэтому я не думаю, что журнал squirrel здесь не будет работать.

Мы просто использовали параметры ожидания и передачи в оболочку PowerShell для процесса освобождения. Потом все заработало.

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