build_installer.ps1 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. -p:EnableCompressionInSingleFile=true `
  20. -p:DebugType=None `
  21. -p:DebugSymbols=false `
  22. --output $publishDir
  23. Get-ChildItem -LiteralPath $publishDir -Filter "*.pdb" -File | Remove-Item -Force
  24. if (Test-Path $installerZip) {
  25. Remove-Item -LiteralPath $installerZip -Force
  26. }
  27. Write-Host "Packing application files..."
  28. Compress-Archive -Path (Join-Path $publishDir "*") -DestinationPath $installerZip -Force
  29. Write-Host "Building graphical installer..."
  30. dotnet publish $installerProject `
  31. --configuration $Configuration `
  32. --runtime $Runtime `
  33. --self-contained true `
  34. -p:PublishSingleFile=true `
  35. -p:IncludeNativeLibrariesForSelfExtract=true `
  36. -p:EnableCompressionInSingleFile=true `
  37. -p:DebugType=None `
  38. -p:DebugSymbols=false `
  39. --output $distDir
  40. Get-ChildItem -LiteralPath $distDir -Filter "*.pdb" -File | Remove-Item -Force
  41. Write-Host ""
  42. Write-Host "Installer is ready:"
  43. Write-Host " $(Join-Path $distDir 'AutorentSetup.exe')"