There are several ways to skin the Webparts deployment cat, each with a few pluses and minuses. Thanks to Mark Harrison we have have a quick and pragmatic list of the options, complete with instructions.

Method 1 - manual

  • Copy assembly DLL to either
    - /bin directory for a given IIS virtual server (e.g., c:\inetpub\wwwroot\bin)
    - Global Assembly Cache (e.g., c:\windows\assembly)

  • Copy DWP file to C:\Inetpub\wwwroot\wpcatalog

  • Copy resources to
    - For GAC-registered parts, C:\Program Files\Common Files\Microsoft Shared\web server extensions\wpresources
    - For Web Parts in the /bin directory, C:\Inetpub\wwwroot\wpresources

  • Adjust web.config
    - Register as SafeControl
    - Select Code Access Security settings

Method 2: CAB File

  • CAB file should contain
    -Assembly DLL
    -DWP file(s)
    -Resource files (if needed)
  • CAB won't contain
    - Code Access Security settings

  • Server-side object model has methods for deploying such a CAB file

  • Deploy with STSADM.EXE
    Located in C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\BIN
    Add it to your path
    Stsadm -o addwppack -filename filename [-globalinstall] [-force]

Method 3: MSI File via WPPackager

  • All of the features of CAB file deployment, but with
    - Code Access Security support
    - Ability to uninstall via Control Panel

  • Get WPPackager.exe

  • Add additional files to project for use by WPPackager

  • Run WPPackager after project is built