Export (0) Print
Expand All

Application and Deployment Manifests in Office Solutions

An application manifest is an XML file that provides information used by a Visual Studio Tools for Office solution to locate and update its assemblies. Each document-level customization created by using Visual Studio Tools for Office has an application manifest embedded in the Runtime Storage Control. Application-level add-ins created by using Visual Studio Tools for Office have an application manifest file that must be deployed to each client computer. An application manifest can be used with a deployment manifest, which is an XML file stored on the server that provides the information needed to locate the most current version of the application manifest and assemblies.

For more information about the Runtime Storage Control, see Runtime Storage Control Overview. For more information about the contents of application and deployment manifests, see Application Manifests for Office Solutions and Deployment Manifests for Office Solutions.

Component Roles in Updating Assemblies

There are three main components involved in updating assemblies:

  • Application manifest embedded in the Microsoft Office document (for customizations) or located on the client computer (for add-ins).

    Stores information about the version of the document or add-in, the assembly entry points, the location of a deployment manifest, and the version, location, and name of the assemblies used by the solution.

  • Deployment manifest located with the deployed assemblies.

    Stores information about the version and location of the most current application manifest.

  • Most current application manifest located with the deployed assemblies.

    Has the same format and contains the same information as the original application manifest embedded in the document (for customizations) or located on the client computer (for add-ins); however, it contains updated information about the version, location, and name of the most current assemblies used by the solution.

The application manifest embedded in the document (for customizations) or located on the client computer (for add-ins) points to the assemblies, or to a deployment manifest. The deployment manifest points to the latest version of the application manifest. The latest version of the application manifest points to the newest version of the assemblies used by the application.

Update Process for Document-Level Customizations

Updating the assembly associated with a customization is accomplished through the following series of steps:

  1. Using the information in the application manifest embedded in the document, the common language runtime locates a deployment manifest.

  2. The deployment manifest is downloaded, and its version is checked against the version of the application manifest embedded in the document.

  3. If the version of the deployment manifest is the same as the application manifest, the document is not updated, and loading continues using the original embedded application manifest.

  4. If the version of the deployment manifest is newer than the application manifest, the following steps occur:

    1. The new application manifest is downloaded from the location specified in the deployment manifest and is embedded in the document (taking the place of the old application manifest).

    2. The new assemblies are loaded from their new locations when the document resumes loading and cached on the computer where the document is located.

    3. After the document has been updated, loading continues as usual using the new application manifest.

Update Process for Application-Level Add-ins

Updating the assembly associated with an add-in is accomplished through the following series of steps:

  1. Every time the user starts the application or enables the add-in in the COM Add-Ins dialog box, the Visual Studio Tools for Office runtime uses the information in the application manifest on the client computer to locate a deployment manifest.

  2. The version of the deployment manifest is checked against the version of the application manifest on the client computer.

  3. If the version of the deployment manifest is the same as the application manifest, the add-in is not updated, and loading continues using the original application manifest.

  4. If the version of the deployment manifest is newer than the application manifest, the following steps occur:

    1. The new application manifest is downloaded from the location specified in the deployment manifest, and the application manifest on the client computer is overwritten with the new application manifest.

    2. The new assemblies are loaded from their new locations.

Creating Application and Deployment Manifests

Application manifests are created automatically as part of the build process. Every time you build a document-level project, the application manifest is embedded in the document. Every time you build an application-level project, the application manifest is created and saved in the build output directory. Deployment manifests and updated application manifests are automatically generated when you use the Publish Wizard. For more information, see How to: Deploy Solution Files Using the Publish Wizard.

See Also

Community Additions

ADD
Show:
© 2014 Microsoft