sync: auto-sync from HOWARD-HOME at 2026-07-17 10:24:46
Author: Howard Enos Machine: HOWARD-HOME Timestamp: 2026-07-17 10:24:46
This commit is contained in:
46
.syncro-install-final-bo2.ps1
Normal file
46
.syncro-install-final-bo2.ps1
Normal file
@@ -0,0 +1,46 @@
|
||||
$ErrorActionPreference = 'Continue'
|
||||
$svc = Get-Service -Name 'Syncro','SyncroLive','SyncroOvermind' -ErrorAction SilentlyContinue
|
||||
if ($svc) {
|
||||
$names = ($svc | ForEach-Object { $_.Name + '=' + $_.Status }) -join ','
|
||||
Write-Output ('SYNCRO-ALREADY-INSTALLED services=[' + $names + ']')
|
||||
exit 0
|
||||
}
|
||||
# Clean any leftover from prior failed installs
|
||||
$repairDir = 'C:\Program Files\RepairTech'
|
||||
if (Test-Path $repairDir) {
|
||||
Remove-Item $repairDir -Recurse -Force -ErrorAction SilentlyContinue
|
||||
Write-Output 'CLEANED prior RepairTech directory'
|
||||
}
|
||||
foreach ($k in @('HKLM:\SOFTWARE\WOW6432Node\RepairTech\Syncro','HKLM:\SOFTWARE\WOW6432Node\RepairTech\Kabuto')) {
|
||||
if (Test-Path $k) { Remove-Item $k -Recurse -Force -ErrorAction SilentlyContinue; Write-Output ("CLEANED registry: $k") }
|
||||
}
|
||||
$msi = 'C:\Windows\Temp\SyncroSetup-khalsa.msi'
|
||||
if (-not (Test-Path $msi)) {
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
(New-Object Net.WebClient).DownloadFile('https://rmm.syncromsp.com/dl/msi/djEtOTQ1NjU1NC0xNTA3NjA4MzYxLTQ4NzUzLTM2ODUwMjI=', $msi)
|
||||
Write-Output ('MSI downloaded ' + [math]::Round((Get-Item $msi).Length / 1MB, 1) + ' MB')
|
||||
} else {
|
||||
Write-Output ('MSI already present ' + [math]::Round((Get-Item $msi).Length / 1MB, 1) + ' MB')
|
||||
}
|
||||
$log = 'C:\Windows\Temp\syncro-install-final.log'
|
||||
$p = Start-Process msiexec.exe -ArgumentList '/i', $msi, '/qn', '/norestart', '/L*v', $log -Wait -PassThru
|
||||
Write-Output ('msiexec exit=' + $p.ExitCode)
|
||||
if ($p.ExitCode -eq 0) {
|
||||
Start-Sleep -Seconds 30
|
||||
$svc2 = Get-Service -Name 'Syncro','SyncroLive','SyncroOvermind' -ErrorAction SilentlyContinue
|
||||
if ($svc2) {
|
||||
Write-Output ('SYNCRO-INSTALL-OK ' + (($svc2 | ForEach-Object { $_.Name + '=' + $_.Status }) -join ','))
|
||||
} else {
|
||||
Write-Output 'SYNCRO-SERVICES-NOT-YET-VISIBLE - may need a moment to register'
|
||||
}
|
||||
} else {
|
||||
Write-Output '--- last 30 lines of install log ---'
|
||||
if (Test-Path $log) { Get-Content $log -Tail 30 }
|
||||
Write-Output '--- Return value 3 context ---'
|
||||
if (Test-Path $log) {
|
||||
$lines = Get-Content $log
|
||||
$idx = ($lines | Select-String 'Return value 3' | Select-Object -First 1).LineNumber
|
||||
if ($idx) { $lines[[math]::Max(0, $idx - 10)..[math]::Min($lines.Count - 1, $idx + 2)] | Write-Output }
|
||||
}
|
||||
}
|
||||
Remove-Item $msi -Force -ErrorAction SilentlyContinue
|
||||
Reference in New Issue
Block a user