Uninstalling
This page describes what happens when your application is uninstalled, what gets removed, and what survives.
What triggers an uninstall
- Windows: the user uninstalls from Apps & features / Programs and Features, which invokes Velopack's uninstall routine. (If the app was installed via MSI, uninstall is handled by
msiexecinstead.) - macOS: there is no separate uninstaller — the user deletes the
.appbundle (e.g. dragging it to the Trash). - Linux: the user deletes the
.AppImage(or removes the package via their package manager, depending on how it was distributed).
Windows
On Windows the uninstaller performs the following steps:
- Runs your uninstall hook (
--veloapp-uninstall {version}on the command line, or the C#OnBeforeUninstallFastCallback) so your app can clean up before removal. - Removes all shortcuts that point into the install directory.
- Removes the entire install directory — the whole
%LocalAppData%\{packId}folder (app,current, packages,Update.exe, everything inside it). - Removes the app's temporary working directory.
- Removes the entry from the Windows uninstall registry.
Because the whole {packId} folder is deleted, anything you stored inside it — including settings or logs next to your binary — is lost. See Preserving Files & Settings for where to put data you want to keep.
The uninstall hook is a FastCallback. It must show no UI and exit quickly, and there is no way to cancel the uninstall from it. See App Hooks.
macOS & Linux
On these platforms the application is a single self-contained bundle (.app / .AppImage). "Uninstalling" simply means deleting that bundle, so only the files inside it are removed. There is no Velopack uninstall command and the uninstall hook is not invoked (FastCallbacks are Windows-only).
What survives
Anything stored outside the install directory survives an uninstall — for example settings in %AppData%\{packId} (roaming) on Windows, or files under ~/Library/Application Support on macOS or in the user's home directory on Linux. Use the locator paths described in Preserving Files & Settings to decide what is and isn't removed.