The Windows installer used 'exit' inside Install-Octopus. When run via
'irm <url> | iex' (the documented one-liner), there is no script scope, so
'exit' terminates the entire PowerShell host process and closes the terminal
window instead of just ending the install. Most users hit this via the
'already installed' branch (exit 0).
Replace 'exit' with:
- 'return' for the success (already-installed) path
- 'throw' for error paths (still non-zero exit when run as .\install.ps1
in CI; prints the error and returns to the prompt under iex)
Add tests/test.ps1 as a regression guard (source-verification + a behavioral
test proving iex no longer terminates the host).