Write-Error is suppressed by SilentlyContinue at the top of the script,
so failures were silent. Switch to Write-Warning which is always visible.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Invoke-WebRequest hangs on the TacticalRMM download URL (same redirect
issue previously fixed for RustDesk). Use WebClient.DownloadFile instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add -ErrorAction Stop so Invoke-WebRequest throws on failure instead of
silently continuing, and -UseBasicParsing to avoid IE engine dependency.
Add progress output so it's clear the download is running.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The TCP connectivity test would stall on reverse DNS lookups and exhaust
its 3-retry limit even on machines with working internet. Let
Invoke-WebRequest fail naturally with a real error instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>