What does BootstrapperPackage mean inside the *.csproj project

Arve picture Arve · Feb 14, 2010 · Viewed 25.6k times · Source

I am upgrading lots of C# projects from vs.net 2008 to vs.net 2010 rc. I notice that the upgrade creates a BootstrapperPackage section inside the *.csproj file (include Microsoft.NET.Framework.3.5 and 3.5sp1). I wonder what the BootstrapperPackage does and do I need them?

Answer

Hans Passant picture Hans Passant · Feb 15, 2010

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.