Files
velopack/docs/using/debugging-updates.md

43 lines
1.7 KiB
Markdown

| [docs](..) / [using](.) / debugging-updates.md
|:---|
# Debugging Updates
The following tips will help you to debug the update process in your application.
## Update.exe not found?
Executing MyApp from Visual Studio will execute the update process and you will get the following exception from the `UpdateManager`:
~~~
Update.exe not found, not a Squirrel-installed app?
~~~
The `UpdateManager` is expecting to find the `Update.exe` application installed one directory up from the EXE (e.g., the `\bin` directory for default Visual Studio projects).
To resolve this, you can simply place a file named `Update.exe` or you can copy the `Squirrel.exe` from the `MyApp\packages\squirrel.windows.1.2.2.tools` directory and rename it Update.exe (this is the actual Update.exe packaged inside `Setup.exe`).
Executing MyApp from Visual Studio will now cause it to complete the update process and your `\bin` directory will resemble the `%LocalAppData\MyApp%` install directory:
![](images/debugging-update-dir.png)
**Tip:** If you want to ensure that the Update.exe is always available in your output directory, you can add the Update.exe file to the Visual Studio project and set its Properties > Copy To Output Directory to 'Copy if newer'.
## Catching Update Exceptions
You can catch thrown exceptions and log the results.
~~~cs
using (var mgr = new UpdateManager("C:\\Projects\\MyApp\\Releases"))
{
await mgr.UpdateApp();
}
~~~
Alternatively, set up Splat Logging, see [here](https://github.com/Squirrel/Squirrel.Windows.Next/blob/6d7ae23602a3d9a7636265403d42c1090260e6dc/src/Update/Program.cs#L53) for an example.
---
| Return: [Table of Contents](../readme.md) |
|----|