Files
covenant-setup/examples/README.md
T
2026-06-13 18:48:41 -05:00

1.4 KiB

Covenant-Setup Smoke Test

This example stays in HKCU and {LocalAppData} so it can be exercised without elevation.

Build single-file installers:

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:

cargo run -- install examples/Covenant-SetupSampleApp-install.toml --json

Write the journal somewhere explicit:

cargo run -- install examples/Covenant-SetupSampleApp-install.toml --journal examples/journal.json

Run uninstall:

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).