Capybara

GitHub

v3.0.1 was released last week

Capybara is an alternative for Squirrel, focusing on being robust and minimal whilst easing your migration.

Capybara is an alternative for Squirrel, acting as a mostly drop in replacement for it's Update.exe. It's extremely lightweight and robust as it requires no extra files, just itself. There is no updating in Capybara, it's designed for use in migrations (you need an Update.exe but have your own updating).

Features

Lightweight

Capybara's exe is under 100KB, so it can be easily downloaded, updated, etc without worrying about data usage.

Robust

Capybara requires no other files or folders to keep track of versions or perform any operations, as long as it exists and your app exists, it'll work.

Same CLI/API

Capybara features the same CLI as Squirrel's Update.exe, with --processStart, --createShortcut, and more.

Supported

Starting --processStart [exePath]

Capybara supports starting your app in the same way as Squirrel's Update.exe.

It will look in the directory it's in for the latest app-[version] directory. It'll pick whichever is highest according to semver. It'll then launch whatever path you gave it inside that directory.

You can also give it --process-start-args ... at the end to pass arguments to the executable.

Shortcuts

Capybara also supports making shortcuts in the same way as Squirrel's Update.exe.

Creation --createShortcut [exePath]

Creates a shortcut in Start Menu with the exe path provided, exact path is picked the same as when starting.

Removal --removeShortcut

Removes a previously created shortcut in Start Menu.

Uninstalling --uninstall

Capybara will uninstall your app when ran with the uninstall command. It deletes:

  • Directories
    • AppData directory for your app
    • Directory that Capybara is in
  • Registry values (for your app, if they exist)
    • Run on startup
    • Protocol
    • Uninstall program entry
  • Shortcuts (if they exist)
    • Start menu
    • Desktop

Detailed docs and exact paths can be found in the repo.