Files
2026-06-13 18:48:41 -05:00

47 lines
1.4 KiB
Markdown

# Covenant-Setup Smoke Test
This example stays in `HKCU` and `{LocalAppData}` so it can be exercised without elevation.
Build single-file installers:
```powershell
cargo run -- package examples/Covenant-SetupSampleApp-install.toml --output dist
```
This emits:
- `dist\covenant-setup-installer.exe`
The generated installer is a single executable with the manifest and payload embedded into it.
It chooses GUI or TUI mode from context, or you can force one explicitly with `--headed` or `--headless`.
Run install:
```powershell
cargo run -- install examples/Covenant-SetupSampleApp-install.toml --json
```
Write the journal somewhere explicit:
```powershell
cargo run -- install examples/Covenant-SetupSampleApp-install.toml --journal examples/journal.json
```
Run uninstall:
```powershell
cargo run -- uninstall examples/journal.json --json
```
Expected effects:
- Creates `%LOCALAPPDATA%\CovenantSetupSample`
- Copies `sample_app.cmd` into the `bin` directory and `post_install.ps1` into the install root
- Writes `HKCU\Software\CovenantSetupSample\InstallRoot`
- Creates a desktop shortcut
- Runs `post_install.ps1` from the install root, which writes a timestamped marker under `logs\`
Every directory, file, registry value, shortcut, and script execution is recorded in the
journal, so uninstall reverses all of them (and the `purge` spec removes the whole install
root, including the `logs\` directory the script created).