47 lines
1.4 KiB
Markdown
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).
|