Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
System.IO.Packaging Namespace

Provides classes that support storage of multiple data objects in a single container.

Package is an abstract class that can be used to organize objects into a single entity of a defined physical format for portability and efficient access.

A ZIP file is the primary physical format for the Package. Other Package implementations might use other physical formats such as an XML document, a database, or Web service.

Like a file system, items contained in a Package are referenced in a hierarchical organization of folders and files.

Although Package is an abstract class, the ZipPackage derived class is used as default by the Package..::.Open method.

A PackagePart ("part") is the abstract class that represents an object that is stored in a Package.

A PackageRelationship ("relationship") defines an association between a source Package or PackagePart and a target object. A PackageRelationship can be one of two types, each of which can be one of two forms:

The relationship's source Package or source PackagePart is considered the "owner" of the relationship. When the source object is deleted, all the relationships owned by the source object are also deleted. The process of creating or deleting a relationship does not physically change either the source or target objects in any way.

A PackageDigitalSignature ("digital signature") is a composition of parts and relationships representing a digital signature included with a Package. The digital signature identifies the originator and validates that the signed parts and relationships contained in the Package have not been modified.

Packages also support Digital Rights Management (DRM), which allows content elements in a Package to be encrypted with specific access rights granted to authorized users.

Based on the Package architecture, an XpsDocument is a package type designed for storing documents based on the open XML Paper Specification (XPS).

Windows Presentation Foundation (WPF) uses packages to store content, resources, and relationships for pages and documents using a standard ZIP file by default. As with any ZIP file, your application can use the System.IO.Packaging classes to store and optionally protect any type or number of data files in a single efficient-to-access container.

For more information, see the Open Packaging Conventions (OPC) specification, available for download at the XPS section of Windows Hardware Developer Central.

For a list of System.IO.Packaging related example programs, see the following:

  ClassDescription
ms569886.pubclass(en-us,VS.90).gifEncryptedPackageEnvelope Represents an OLE compound file that contains an encrypted package.
ms569886.pubclass(en-us,VS.90).gifPackage Represents a container that can store multiple data objects.
ms569886.pubclass(en-us,VS.90).gifPackageDigitalSignature Represents a digital signature that is applied to a set of package parts and relationships.
ms569886.pubclass(en-us,VS.90).gifPackageDigitalSignatureManager Provides a utility class for the creation and verification of digital signatures in a Package.
ms569886.pubclass(en-us,VS.90).gifPackagePart Provides a base class for parts stored in a Package. This class is abstract.
ms569886.pubclass(en-us,VS.90).gifPackagePartCollection Represents a collection of PackagePart objects.
ms569886.pubclass(en-us,VS.90).gifPackageProperties Represents the core properties of a Package.
ms569886.pubclass(en-us,VS.90).gifPackageRelationship Represents an association between a source Package or PackagePart, and a target object which can be a PackagePart or external resource.
ms569886.pubclass(en-us,VS.90).gifPackageRelationshipCollection Represents a collection of PackageRelationship elements that are owned by a given PackagePart or the Package.
ms569886.pubclass(en-us,VS.90).gifPackageRelationshipSelector Defines PackageRelationship criteria to select part-level or package-level relationships.
ms569886.pubclass(en-us,VS.90).gifPackageStore Represents a collection of application-specific Package instances used in combination with PackWebRequest.
ms569886.pubclass(en-us,VS.90).gifPackUriHelper Provides utility methods to compose and parse pack URI objects.
ms569886.pubclass(en-us,VS.90).gifPackWebRequest Makes a request to an entire PackagePart or to a PackagePart in a package, identified by a pack URI.
ms569886.pubclass(en-us,VS.90).gifPackWebRequestFactory Represents the class that is invoked when an instance of a pack URI PackWebRequest is created.
ms569886.pubclass(en-us,VS.90).gifPackWebResponse Represents a response of a PackWebRequest.
ms569886.pubclass(en-us,VS.90).gifRightsManagementInformation Represents Digital Rights Management (DRM) information that is stored in an EncryptedPackageEnvelope.
ms569886.pubclass(en-us,VS.90).gifSignatureVerificationEventArgs Specifies the event args provided to the InvalidSignatureEventHandler.
ms569886.pubclass(en-us,VS.90).gifStorageInfo Provides access and information for manipulating data stores in a Package.
ms569886.pubclass(en-us,VS.90).gifStreamInfo Provides access and information for manipulating I/O streams within a Package.
ms569886.pubclass(en-us,VS.90).gifZipPackage Implements a derived subclass of the abstract Package base class—the ZipPackage class uses a ZIP archive as the container store. This class cannot be inherited.
ms569886.pubclass(en-us,VS.90).gifZipPackagePart Represents a part that is stored in a ZipPackage.
  DelegateDescription
ms569886.pubdelegate(en-us,VS.90).gifInvalidSignatureEventHandler Represents the method that handles the InvalidSignatureEvent that is raised when VerifySignatures detects an invalid signature.
  EnumerationDescription
ms569886.pubenumeration(en-us,VS.90).gifCertificateEmbeddingOption Specifies the location where the X.509 certificate that is used in signing is stored.
ms569886.pubenumeration(en-us,VS.90).gifCompressionOption Specifies the compression level for content that is stored in a PackagePart.
ms569886.pubenumeration(en-us,VS.90).gifEncryptionOption Specifies the encryption option for parts in a Package.
ms569886.pubenumeration(en-us,VS.90).gifPackageRelationshipSelectorType Specifies the type of selection criteria that is used to match and return PackageRelationship selections through a PackageRelationshipSelector.
ms569886.pubenumeration(en-us,VS.90).gifTargetMode Specifies whether the target of a PackageRelationship is inside or outside the Package.
ms569886.pubenumeration(en-us,VS.90).gifVerifyResult Specifies the result of a certificate or signature verification.
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Add a reference to WindowsBase to access the System.IO.Packaging namespace      mtucker   |   Edit   |  
To work with the System.IO.Packaging namespace in the .NET Framework 3.5, add a reference to the WindowsBase component. In the Add References dialog, choose the .NET tab, and select WindowsBase from the list of components.
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker