<# Copia i file runtime Panasonic/TAPI in una cartella locale stabile Windows. Uso tipico: 1. tieni il repo dove vuoi anche temporaneamente 2. lancia questo script 3. installa e avvia il bridge dalla cartella runtime locale pubblicata Vantaggio: - il task non dipende da S: - se aggiorni il repo, rilanci questo script e riallinei il runtime locale #> param( [string]$TargetRoot = 'C:\ProgramData\NetGescon\panasonic-live\current', [switch]$IncludeDocs ) Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' function Ensure-Directory { param([string]$Path) if (-not (Test-Path $Path)) { New-Item -ItemType Directory -Path $Path -Force | Out-Null } } $sourceRoot = $PSScriptRoot if (-not (Test-Path $sourceRoot)) { throw "Cartella sorgente non trovata: $sourceRoot" } Ensure-Directory -Path $TargetRoot $files = @( 'start-netgescon-panasonic-live.ps1', 'start-netgescon-panasonic-live.cmd', 'install-netgescon-panasonic-live-task.ps1', 'install-netgescon-panasonic-live-task.cmd', 'watch-netgescon-panasonic-tapi-dotnet-events.ps1', 'watch-netgescon-panasonic-tapi-com-events.ps1', 'poll-netgescon-panasonic-active-calls.ps1', 'get-netgescon-panasonic-tapi-info.ps1', 'inspect-netgescon-panasonic-address.ps1', 'inspect-netgescon-tapi-interop.ps1', 'test-netgescon-panasonic-api.ps1', 'test-netgescon-panasonic-register-notifications.ps1' ) foreach ($file in $files) { $sourcePath = Join-Path $sourceRoot $file if (Test-Path $sourcePath) { Copy-Item -Path $sourcePath -Destination (Join-Path $TargetRoot $file) -Force Write-Host ("COPIATO {0}" -f $file) } } if ($IncludeDocs.IsPresent) { $docsRoot = Split-Path -Path $sourceRoot -Parent | Split-Path -Parent | Split-Path -Parent $docPath = Join-Path $docsRoot 'docs\CTI-WINDOWS-TAPI-PROBE.md' if (Test-Path $docPath) { Copy-Item -Path $docPath -Destination (Join-Path $TargetRoot 'CTI-WINDOWS-TAPI-PROBE.md') -Force Write-Host 'COPIATO CTI-WINDOWS-TAPI-PROBE.md' } } Write-Host '' Write-Host ('Runtime pubblicato in: {0}' -f $TargetRoot) Write-Host 'Avvio manuale consigliato:' Write-Host (' {0}' -f (Join-Path $TargetRoot 'start-netgescon-panasonic-live.cmd')) Write-Host 'Installazione task consigliata:' Write-Host (' {0} -Mode current-user-logon' -f (Join-Path $TargetRoot 'install-netgescon-panasonic-live-task.cmd'))