Files
velopack/specs/Tools.md
2014-07-28 14:09:31 +02:00

25 lines
1.2 KiB
Markdown

## Scenarios
At the end of the day, here's how a developer will use Squirrel:
1. Add the **Squirrel** package to your application
1. As part of the install for Squirrel, NuGet Package Build is enabled in the csproj file
1. The user edits the generated `.nuspec` to specify some details about their app
1. From the NuGet package console, run `New-Release` - this builds the
world, and you end up with a `$SolutionDir/Releases` folder that has both a
Squirrel release package as well as a `Setup.exe`
## How does this work:
1. Call `$DTE` to build the current project, including the NuGet packages
1. Look at all of the projects which have references to `Squirrel.Client`
1. Look up the build output directory for those projects, run
`CreateReleasePackage.exe` on all of the .nupkg files
1. Using the generated NuGet package, fill in the `Template.wxs` file
1. Create a temporary directory for the contents of the Setup.exe, copy in the
`Squirrel.WiXUi.dll` as well as any DLL Project that references
`Squirrel.Client.dll`
1. Run `Candle` and `Light` to generate a `Setup.exe`, which contains
Squirrel.WiXUi.dll and friends, any custom UI DLLs, and the latest full
`nupkg` file.