42 lines
1.5 KiB
PowerShell
42 lines
1.5 KiB
PowerShell
#Requires -RunAsAdministrator
|
|
|
|
$ServiceName = "MailPrint"
|
|
$DisplayName = "MailPrint - E-Mail & WebAPI zu Drucker"
|
|
$Description = "Druckt PDF-Anhaenge automatisch aus E-Mails (IMAP/POP3) und per REST API auf Windows-Drucker."
|
|
$ExePath = Join-Path $PSScriptRoot "publish\MailPrint.exe"
|
|
|
|
if (-not (Test-Path $ExePath)) {
|
|
Write-Error "MailPrint.exe nicht gefunden: $ExePath"
|
|
exit 1
|
|
}
|
|
|
|
$existing = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
|
|
if ($existing) {
|
|
Write-Host "Dienst '$ServiceName' ist bereits installiert. Stoppe zuerst..." -ForegroundColor Yellow
|
|
Stop-Service -Name $ServiceName -Force -ErrorAction SilentlyContinue
|
|
Start-Sleep -Seconds 2
|
|
}
|
|
|
|
Write-Host "Installiere Dienst '$ServiceName'..." -ForegroundColor Cyan
|
|
|
|
New-Service `
|
|
-Name $ServiceName `
|
|
-DisplayName $DisplayName `
|
|
-Description $Description `
|
|
-BinaryPathName $ExePath `
|
|
-StartupType Automatic | Out-Null
|
|
|
|
sc.exe failure $ServiceName reset= 3600 actions= restart/5000/restart/10000/restart/30000 | Out-Null
|
|
|
|
Write-Host "Starte Dienst..." -ForegroundColor Cyan
|
|
Start-Service -Name $ServiceName
|
|
|
|
$svc = Get-Service -Name $ServiceName
|
|
Write-Host ""
|
|
Write-Host "Ergebnis:" -ForegroundColor Green
|
|
Write-Host " Name: $($svc.Name)"
|
|
Write-Host " Status: $($svc.Status)"
|
|
Write-Host " Start: $($svc.StartType)"
|
|
Write-Host ""
|
|
Write-Host "Fertig. MailPrint laeuft jetzt als Windows-Dienst." -ForegroundColor Green
|
|
Write-Host "Logs: $(Join-Path $PSScriptRoot 'publish\logs')"
|