Initial commit: PANDA 1.3
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$compiler = 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe'
|
||||
$project = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$program = Join-Path $project 'Program.cs'
|
||||
$tests = Join-Path $project 'Tests.cs'
|
||||
$installerSource = Join-Path $project 'Installer.cs'
|
||||
$uninstallerSource = Join-Path $project 'Uninstaller.cs'
|
||||
$icon = Join-Path $project 'PANDA.ico'
|
||||
$testExe = Join-Path $project 'PANDA.Tests.exe'
|
||||
$appExe = Join-Path $project 'PANDA-Portable.exe'
|
||||
$uninstallerExe = Join-Path $project 'PANDA-Uninstall.Payload.exe'
|
||||
$setupExe = Join-Path $project 'PANDA-Setup.exe'
|
||||
$iconArgument = "/win32icon:$icon"
|
||||
|
||||
if (-not (Test-Path -LiteralPath $icon)) { throw 'PANDA.ico fehlt.' }
|
||||
|
||||
& $compiler /nologo /target:exe /main:Panda.Tests /out:$testExe /reference:System.dll /reference:System.Core.dll /reference:System.Drawing.dll /reference:System.Windows.Forms.dll $program $tests
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Test-Build fehlgeschlagen.' }
|
||||
|
||||
& $testExe
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Tests fehlgeschlagen.' }
|
||||
|
||||
& $compiler /nologo /target:winexe /main:Panda.Program /optimize+ /platform:anycpu /out:$appExe $iconArgument /reference:System.dll /reference:System.Core.dll /reference:System.Drawing.dll /reference:System.Windows.Forms.dll $program
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Programm-Build fehlgeschlagen.' }
|
||||
|
||||
& $compiler /nologo /target:winexe /main:PandaUninstall.Program /optimize+ /platform:anycpu /out:$uninstallerExe $iconArgument /reference:System.dll /reference:System.Core.dll /reference:System.Windows.Forms.dll $uninstallerSource
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Uninstaller-Build fehlgeschlagen.' }
|
||||
|
||||
$appResource = "/resource:$appExe,PANDA.Application.exe"
|
||||
$uninstallerResource = "/resource:$uninstallerExe,PANDA.Uninstaller.exe"
|
||||
& $compiler /nologo /target:winexe /main:PandaSetup.Program /optimize+ /platform:anycpu /out:$setupExe $iconArgument /reference:System.dll /reference:System.Core.dll /reference:System.Drawing.dll /reference:System.Windows.Forms.dll $appResource $uninstallerResource $installerSource
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Installer-Build fehlgeschlagen.' }
|
||||
|
||||
$verifyProcess = Start-Process -FilePath $setupExe -ArgumentList '--verify' -WindowStyle Hidden -Wait -PassThru
|
||||
if ($verifyProcess.ExitCode -ne 0) { throw 'Installer-Payload-Prüfung fehlgeschlagen.' }
|
||||
|
||||
Remove-Item -LiteralPath $testExe -Force
|
||||
Remove-Item -LiteralPath $uninstallerExe -Force
|
||||
Write-Host "Portable Einzeldatei erstellt: $appExe"
|
||||
Write-Host "Installer mit Uninstaller erstellt: $setupExe"
|
||||
Reference in New Issue
Block a user