Summary
The 1.0.9 product source does not define a custom NSIS return-code table for user cancellation, pre-existing applications, concurrent installation, missing prerequisites, or insufficient permissions. The table below documents only what can be supported from the installer and its custom action source.
| Exit code | Meaning | Recommended action |
|---|---|---|
| 0 | Successful completion. The custom PowerShell service action explicitly exits `0` after the requested operation returns. | Continue. For enterprise deployment, verify both Windows services are present and running. |
| Non-zero | The installer operation did not complete successfully, or the user/installer flow did not finish. The NSIS wrapper does not assign documented per-scenario codes. | Collect the installer log, inspect Windows service state, and retry interactively. Do not map the value to an MSI error code. |
| 1 (internal) | The embedded `Register-VigilanteServices.ps1` returns `1` when its PowerShell operation throws. This is the custom-action status, not a guaranteed final NSIS process-code mapping. | Review the custom-action log for the operation and underlying exception. Report the final installer process code separately. |
Scenarios without dedicated mappings
- User cancellation: no product-defined code was found.
- Application already exists or installation already in progress: no dedicated code was found. The installer is designed to refresh service registration during upgrade, but concurrent-install behavior was not release-tested.
- Insufficient permissions: elevation is required and the custom service script fails closed when not elevated; no dedicated final NSIS code is defined.
- Missing prerequisites: no dedicated prerequisite code was found in the installer configuration.
- Uninstall success/failure: the service script returns internal success/failure status, but the final NSIS executable does not publish a separate documented uninstall-code table.
Implementation evidence
The mapping is based on the 1.0.9 `package.json`, `installer/vigilante-services.nsh`, `service/install/Register-VigilanteServices.ps1`, and `service/install/VigilanteServices.psm1`. NSIS invokes the custom action; the PowerShell entry point exits `0` on success and `1` when its operation throws. The signed release report confirms the artifact was signed, but explicitly says installer execution was not performed.