The Windows installer used 'exit' inside Install-Octopus. When run via
'irm | 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).
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).
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).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The Windows installer used 'exit' inside Install-Octopus. When run via
'irm | 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:
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).
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).