Application manifests for Office solutions

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

An application manifest is an XML file that describes the assemblies that are loaded into a Microsoft Office solution. The Microsoft Office development tools in Visual Studio use the ClickOnce application manifest schema defined in the ClickOnce application manifest reference.

Application manifests for Office solutions use the following ClickOnce elements and attributes.

Element Description Attributes
<assembly> Element (ClickOnce Application) Required. Top-level element. manifestVersion
<assemblyIdentity> Element (ClickOnce Application) Required. Identifies the ClickOnce application's primary assembly. name

version

publicKeyToken

processorArchitecture

language
<trustInfo> Element (ClickOnce Application) Identifies the application security requirements. None
<entryPoint> Element (ClickOnce Application) Required. Identifies the application code entry point for execution. name

dependencyName

customHostSpecified
<dependency> Element (ClickOnce Application) Required. Identifies each dependency required for the application to run. Optionally identifies assemblies that need to be preinstalled. None
<file> Element (ClickOnce Application) Required. Identifies each non-assembly file that is used by the application. Can include Component Object Model (COM) isolation data associated with the file. name

size

Application manifests for Office solutions have the following element in the co.v1 namespace.

<entryPoint>
    <co.v1:customHostSpecified />
</entryPoint>

These application manifests also have the following elements and attributes in the vstav3 namespace.

<addIn>
  <entryPointsCollection>
    <entryPoints>
      <entryPoint>
      </entryPoint>
    </entryPoints>
  </entryPointsCollection>
  <update></update>
  <postActions>
    <postAction>
      <postActionData>
      </postActionData>
    <postAction>
  </postActions>
  <application>
    <customizations>
      <customization>
      </customization>
    </customizations>
  </application
</addIn>
Element Description Attributes
<customHostSpecified> Element (Office Development in Visual Studio) Required. Marks the manifest specifically as an Office solution. None
<addin> Element (Office Development in Visual Studio) Required. Stores entry points into a single namespace. None
<entryPointsCollection> Element (Office Development in Visual Studio) Required. Groups all the assemblies for one or more Office solutions. id
<entryPoints> Element (Office Development in Visual Studio) Required. Groups all the assemblies to run an Office solution. None
<entryPoint> Element (Office Development in Visual Studio) Required. Identifies the assembly to run in an Office solution. class

contract
<update> Element (Office Development in Visual Studio) Required. Configures updates for the solution. enabled

expiration
<postActions> Element (Office Development in Visual Studio) Optional. Groups all the post-deployment actions, which run after Office solutions are installed. None
<postAction> Element (Office Development in Visual Studio) Optional. Identifies a post-deployment action. None
<postActionData> Element (Office Development in Visual Studio) Optional. Configures data for a post-deployment action. None
<application> Element (Office Development in Visual Studio) Required. Wraps the application-specific information into a single node. None
<customizations> Element (Office Development in Visual Studio) Required. Stores all application host-specific information in a separate namespace. None
<customization> Element (Office Development in Visual Studio) Required. Stores application host-specific information in a separate namespace. xmlns
<document> Element (Office Development in Visual Studio) Required only for document-level solutions. Stores customization-specific information. solutionId
<appAddin> Element (Office Development in Visual Studio) Required only for application-level solutions. Stores customization-specific information. application

loadBehavior

keyName
<friendlyName> Element (Office Development in Visual Studio) Optional. Stores the name of the VSTO Add-in that appears in the list of installed VSTO Add-ins. None
<description> Element (Office Development in Visual Studio) Required only for VSTO Add-ins. Stores the description that appears in the list of installed programs. None
<formRegions> Element (Office Development in Visual Studio) Required only for Outlook VSTO Add-ins that include form regions. None
<formRegion> Element (Office Development in Visual Studio) Required only for Outlook VSTO Add-ins that include form regions. Name
<vstoRuntime> Element (Office Development in Visual Studio) Required. Describes a specific version of the Visual Studio Tools for Office runtime that is supported by the Office solution. release

version

supportUrl

Remarks

You can manually edit application and deployment manifests in Office solutions. Afterwards, you must re-sign the application and deployment manifests by using the Manifest Generation and Editing Tool (mage.exe and mageui.exe). For more information, see How to: Re-sign application and deployment manifests.

File location

An application manifest is specific to a single version of a solution. For this reason, application manifests should be stored separately from deployment manifests. Visual Studio places the version-specific files in a subdirectory named after the associated version in the Application Files subdirectory in the publish folder.

File name syntax

The name of an application manifest file should be the full name and extension of the application as identified in the assemblyIdentity element, followed by the extension .manifest. For example, an application manifest that refers to the OutlookAddIn1.dll customization would use the following file name syntax.

OutlookAddIn1.dll.manifest

See also