At the end of the day, here's how a developer will use Squirrel:
- Add the Squirrel package to your application
- As part of the install for Squirrel, NuGet Package Build is enabled in the csproj file
- The user edits the generated
.nuspec
to specify some details about their app - 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 aSetup.exe
- Call
$DTE
to build the current project, including the NuGet packages - Look at all of the projects which have references to
Squirrel.Client
- Look up the build output directory for those projects, run
CreateReleasePackage.exe
on all of the .nupkg files - Using the generated NuGet package, fill in the
Template.wxs
file - Create a temporary directory for the contents of the Setup.exe, copy in the
Squirrel.WiXUi.dll
as well as any DLL Project that referencesSquirrel.Client.dll
- Run
Candle
andLight
to generate aSetup.exe
, which contains Squirrel.WiXUi.dll and friends, any custom UI DLLs, and the latest fullnupkg
file.