build_installer.ps1 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. param(
  2. [string]$Configuration = "Release",
  3. [string]$Runtime = "win-x64"
  4. )
  5. $ErrorActionPreference = "Stop"
  6. $root = Split-Path -Parent $PSScriptRoot
  7. $appProject = Join-Path $root "AutorentWinForms.csproj"
  8. $installerProject = Join-Path $root "installer\AutorentSetup.csproj"
  9. $publishDir = Join-Path $root "publish\AutorentWinForms"
  10. $installerZip = Join-Path $root "installer\app.zip"
  11. $distDir = Join-Path $root "dist"
  12. Write-Host "Publishing application..."
  13. dotnet publish $appProject `
  14. --configuration $Configuration `
  15. --runtime $Runtime `
  16. --self-contained true `
  17. -p:PublishSingleFile=true `
  18. -p:IncludeNativeLibrariesForSelfExtract=true `
  19. --output $publishDir
  20. if (Test-Path $installerZip) {
  21. Remove-Item -LiteralPath $installerZip -Force
  22. }
  23. Write-Host "Packing application files..."
  24. Compress-Archive -Path (Join-Path $publishDir "*") -DestinationPath $installerZip -Force
  25. Write-Host "Building graphical installer..."
  26. dotnet publish $installerProject `
  27. --configuration $Configuration `
  28. --runtime $Runtime `
  29. --self-contained true `
  30. -p:PublishSingleFile=true `
  31. -p:IncludeNativeLibrariesForSelfExtract=true `
  32. --output $distDir
  33. Write-Host ""
  34. Write-Host "Installer is ready:"
  35. Write-Host " $(Join-Path $distDir 'AutorentSetup.exe')"