Why is there a separate 'debug pack' for Silverlight?

To debug Silverlight apps, you need to download a separate debug pack on top of VS Orcas and the Silverlight runtime.  A disadvantage is that this introduces yet another versioning boundary, and another thing to install for silverlight developement.

The previous .NET releases (1.0, 1.1, 2.0) did not have a "debug pack" that was separate from both the runtime install and the Visual Studio install. This was viable for Whidbey (.Net 2.0) because:

  1. The .NET 2.0 redistributable included some debug components, like mscordbi.dll. The Silverlight download is much smaller than the .Net 2.0 redist, and one of the (many) ways we did this was offload the debug components to a separate download, the "Debug pack". Afterall, most people by far who are running Silverlight apps don't actually need to debug them.
  2. .Net 2.0 shipped together with the entire Visual Studio 2005 stack. So any VS updates needed for debugging .Net could just ship with VS2005.  In contrast, Silverlight does not require a completely new VS install. So the VS components that "understand" silverlight debugging are in their own VS add-on that ships in a debug pack separate from the full VS install.

You could imagine that in .Net 2.0, there was a debug pack, but it just shipped with VS2005.

 

Update [8/8/07] :

As of the Orcas Beta 2 install, the default directory for the components are:

  • Silverlight runtime: C:\Program Files\Microsoft Silverlight
  • Visual Studio: C:\Program Files\Microsoft Visual Studio 9.0
  • "Silverlight Debug Pack" C:\Program Files\Microsoft Visual Studio 9.0\Silverlight