NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Application Distribution Overview

A common misperception is that assemblies are a packaging format. Assemblies are not a packaging or distribution technology in and of themselves. Instead, assemblies can be packaged for deployment in several ways.

An assembly's files are represented as PE files and resource files. These files can be distributed as is, or they can be packaged into some other distribution unit. For the first release of the NGWS runtime the supported distribution formats are .cab and .msi.

Assemblies that make up web-based applications can be downloaded and installed via the NGWS runtime MIME filter. In all web-based applications, the top-level HTML document defines the assemblies used by the application. The HTML document contains OBJECT tags referencing assemblies needed by the application. These assemblies may reference additional dependent assemblies as needed.

The following picture shows the "lifecycle" of an assembly's files as they relate to standard packaging and distribution:

  1. Source files are compiled and linked into .exe's, .dll's and .resources files (other file types, like .gif can be included in an assembly as well).
  2. The assemblies created by the build step can be deployed as is simply by xcopy'ing them to a directory. Also, .dll's can be referenced by codebases and downloaded on demand.
  3. Alternatively, a developer may choose to package the assembly files into some other distribution unit like compressed .cab files or .msi files that can be installed by the Windows Installer. CAB files can also be distributed through code download.

Configuration, Grouping Classes into Assemblies, Managing Resource Files