What does BootstrapperPackage mean inside the *.csproj project

Solution 1:

Bootstrapper packages are the basic components you might need to get a .NET program installed. You'll find them listed in the BootsTrapper\Packages subdirectory of the Windows SDK folder (c:\program files\microsoft sdks\windows\v6.0 for VS2008). The ones on my machine are:

  • DotNetFx(Xxx) - installs .NET on the target machine
  • Office2007PIARedist - the Office PIA, required when you automate Office programs
  • ReportViewer - required when you use report viewer
  • Sql Server Compact Edition - required when you use SQL Server Compact
  • SqlExpress - required when you use SQL Express
  • VBPowerPacks - required when you use any VB Power Pack component (PrintForm, Shape etc)
  • vcredist(Xxx) - required when you used any C/C++ code that uses /MD
  • VSTOR30 - required when you used VSTO
  • WindowsInstaller3_1 - installs MSI 3.1 (don't ask)

Making sure that .NET is installed isn't really necessary anymore today. The rest of them might however be required, even if this is a CO install. I think a Setup project can autodetect them reliably.

Solution 2:

<BootstrapperPackage> is the item name for parameters to the BootstrapperItems parameter of the <GenerateBootstrapper> task, in the default project configuration (ie: Microsoft.CSharp.targets). Check here on MSDN for the documentation.

(So the name "BootstrapperPackage" is arbitrary - which is why documentation for it is difficult to find.)

The GenerateBootstrapper task creates a "setup.exe" that checks for and installs the specified prerequisites before launching another application. Typically that other application will actually be a ClickOnce manifest describing how to install your program.

(The ClickOnce manifest gets opened by Windows Installer, which is why you'll typically have that as one of the prerequisites.)

Solution 3:

OK Found a link. It has something todo with ClickOnce and nothing I need to worry about, I think.