Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 1.17 KB

Tools.md

File metadata and controls

24 lines (20 loc) · 1.17 KB

Scenarios

At the end of the day, here's how a developer will use Squirrel:

  1. Add the Squirrel package to your application
  2. As part of the install for Squirrel, NuGet Package Build is enabled in the csproj file
  3. The user edits the generated .nuspec to specify some details about their app
  4. 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
  2. Look at all of the projects which have references to Squirrel.Client
  3. Look up the build output directory for those projects, run CreateReleasePackage.exe on all of the .nupkg files
  4. Using the generated NuGet package, fill in the Template.wxs file
  5. 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
  6. 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.