# --------------------------------------------------------------
# Script installazione MTConnect Agent + MTConnect ADAPTER
# S.E.L. e G.A.R. - Steamware 2016.12.09
# --------------------------------------------------------------

$ErrorActionPreference = "Stop"    # comportamento x errori minori

# recupero path da cui avviato lo script
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
#Write-Host "$scriptPath"
cd $scriptPath

# Fase 1: chiedo quale tipo di CNC sia (FANUC / ...)
Write-Host "--------------------"
Write-Host "- ADAPTER AMMESSI"
Write-Host "--------------------"
Write-Host "1 - FANUC (CMS)"
Write-Host "2 - ESAGV (SCM)"
Write-Host "3 - SIEMENS (CMS)"
$adapter = read-host "Prego scegliere tipologia di ADAPTER da installare (default: 1 = FANUC)"
if(!$adapter) 
{
    $adapter = "1"
}

# directory di default...
$AdpDir = ""
switch($adapter)
{
    1 { $AdpDir = "FANUC" }
    2 { $AdpDir = "ESA" }
    3 { $AdpDir = "SIEMENS" }
    default { $AdpDir = "FANUC" }
}

# Fase 2: copia files adapter
Write-Host "--------------------"
Write-Host "- Posizione di installazione"
Write-Host "--------------------"
$tgtFolder = read-host "Prego indicare dir installazione (def - C:\CMS\MTC\)"
if(!$tgtFolder) 
{
    $tgtFolder = "C:\CMS\MTC\"
}

Start-Sleep -s 1
Write-Host "Sto copiando adapter BASE in '$tgtFolder'"
Copy-Item -Force -Recurse  ".\$AdpDir\ADAPTER" "$tgtFolder\ADAPTER"


# # Fase 3: copia file di conf specifica
# Start-Sleep -s 1
# Write-Host "Sto copiando files configurazione matricola in '$tgtFolder'"
# Copy-Item -Force -Recurse ".\$AdpDir\DATA" "$tgtFolder\ADAPTER\"

# Fase 4: copia dell'agent
Start-Sleep -s 1
Write-Host "Sto copiando AGENT MTC in '$tgtFolder'"
Copy-Item -Force -Recurse ".\AGENT\" "$tgtFolder\AGENT"

# # copio anche le conf dell'agent!
# Start-Sleep -s 1
# Copy-Item -Force -Recurse ".\DATA" "$tgtFolder\AGENT\"


# Fase 4: registrazione dell'agent
Start-Sleep -s 1
Write-Host "Sto registrando servizio AGENT MTC"
cd $tgtFolder
cd "AGENT\bin"
.\agent.exe install .\agent.cfg

#avvio servizio
Start-Sleep -s 1
Write-Host "Servizio AGENT MTC installato, avvio il servizio"
Get-Service "MTConnect Agent" | Start-Service
Write-Host "Servizio AGENT MTC imposto avvio Automatico"
Set-service "MTConnect Agent" -StartupType Automatic

# Get-Service "MTConnect Agent" | Select -Property Name, Status | ft -auto
Get-WmiObject -Class Win32_Service -Filter "Name='MTConnect Agent'" | Select Name,State,StartMode | ft -auto

#apro console servizi x chiedere verifica ad utente
Write-Host "Servizio installato ed avviato, prego verificare registrazione avvio automatico (tramite msc services) e lo stato current (nella pagina del browser)"


# fase 6: apro porta current x verifica agent e dati 
Start-Sleep -s 1
services.msc
# verifica porta 5000 (http://localhost:5000/)
explorer.exe 'http://localhost:5000/current'

# Fase 7 manuale: registrazione script avvio differito... indicare di fare con startup delayer (apre prg?)
Start-Sleep -s 1
Write-Host "ADAPTER ed AGENT installati, prego ricordarsi di registrare (startup delayer) l'avvio differito dell'adapter"

#torno nella dir dello script!
cd $scriptPath
