Office 解决方案的应用程序清单

应用程序清单是一个 XML 文件,描述加载到 Microsoft Office 解决方案中的程序集。 Visual Studio 中的 Microsoft Office 开发工具使用 ClickOnce 应用程序清单参考中定义的 ClickOnce 应用程序清单架构。

Office 解决方案的应用程序清单使用以下 ClickOnce 元素和特性。

元素

说明

特性

<assembly> 元素(ClickOnce 应用程序)

必选。 顶级元素。

manifestVersion

<assemblyIdentity> 元素(ClickOnce 应用程序)

必选。 标识 ClickOnce 应用程序的主程序集。

name

version

publicKeyToken

processorArchitecture

language

<trustInfo> 元素(ClickOnce 应用程序)

标识应用程序的安全要求。

<entryPoint> 元素(ClickOnce 应用程序)

必选。 标识应用程序代码执行的入口点。

name

dependencyName

customHostSpecified

<dependency> 元素(ClickOnce 应用程序)

必选。 标识运行应用程序所需的每个依赖项。 还可以选择标识需要预安装的程序集。

<file> 元素(ClickOnce 应用程序)

必选。 标识应用程序所使用的每个非程序集文件。 可以包括与该文件关联的组件对象模型 (COM) 隔离数据。

name

size

Office 解决方案的应用程序清单在 co.v1 命名空间中有以下元素。

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

这些应用程序清单在 vstav3 命名空间中还有以下元素和特性。

<addIn>
  <entryPointsCollection>
    <entryPoints>
      <entryPoint>
      </entryPoint>
    </entryPoints>
  </entryPointsCollection>
  <update></update>
  <postActions>
    <postAction>
      <postActionData>
      </postActionData>
    <postAction>
  </postActions>
  <application>
    <customizations>
      <customization>
      </customization>
    </customizations>
  </application
</addIn>

元素

说明

特性

<customHostSpecified> 元素(Visual Studio 中的 Office 开发)

必选。 将清单专门标识为 Office 解决方案。

<addin> 元素(Visual Studio 中的 Office 开发)

必选。 将入口点存储到单个命名空间中。

<entryPointsCollection> 元素(Visual Studio 中的 Office 开发)

必选。 将所有程序集分组为一个或多个 Office 解决方案。

id

<entryPoints> 元素(Visual Studio 中的 Office 开发)

必选。 将所有程序集分组以运行 Office 解决方案。

<entryPoint> 元素(Visual Studio 中的 Office 开发)

必选。 标识要在 Office 解决方案中运行的程序集。

class

contract

<update> 元素(Visual Studio 中的 Office 开发)

必选。 配置解决方案的更新。

enabled

expiration

<postActions> 元素(Visual Studio 中的 Office 开发)

可选。 将所有在安装 Office 解决方案后运行的部署后操作分组。

<postAction> 元素(Visual Studio 中的 Office 开发)

可选。 标识部署后操作。

<postActionData> 元素(Visual Studio 中的 Office 开发)

可选。 配置部署后操作的数据。

<application> 元素(Visual Studio 中的 Office 开发)

必选。 将特定于应用程序的信息封装为单个节点。

<customizations> 元素(Visual Studio 中的 Office 开发)

必选。 在单独的命名空间中存储所有特定于应用程序宿主的信息。

<customization> 元素(Visual Studio 中的 Office 开发)

必选。 在单独的命名空间中存储特定于应用程序宿主的信息。

xmlns

<document> 元素(Visual Studio 中的 Office 开发)

仅对文档级解决方案是必需的。 存储特定于自定义项的信息。

solutionId

<appAddin> 元素(Visual Studio 中的 Office 开发)

仅对应用程序级解决方案是必需的。 存储特定于自定义项的信息。

application

loadBehavior

keyName

<friendlyName> 元素(Visual Studio 中的 Office 开发)

可选。 存储在已安装外接程序列表中显示的外接程序的名称。

<description> 元素(Visual Studio 中的 Office 开发)

仅对应用程序级外接程序是必需的。 存储在已安装程序列表中显示的说明。

<formRegions> 元素(Visual Studio 中的 Office 开发)

仅对包括窗体区域的 Outlook 2007 外接程序是必需的。

<formRegion> 元素(Visual Studio 中的 Office 开发)

仅对包括窗体区域的 Outlook 2007 外接程序是必需的。

Name

<vstoRuntime> 元素(Visual Studio 中的 Office 开发)

必选。 描述 Office 解决方案支持的 Visual Studio Tools for Office Runtime 特定版本。

release

version

supportUrl

备注

您可以手动编辑 Office 解决方案的应用程序清单和部署清单。 之后,必须通过使用清单生成和编辑工具(mage.exet 和 mageui.exe)对应用程序清单和部署清单进行重新签名。 有关更多信息,请参见 如何:为应用程序和部署清单重新签名

文件位置

应用程序清单特定于解决方案的一个版本。 为此,应用程序清单应当与部署清单分开存储。 Visual Studio 将特定于版本的文件放置在一个以关联版本命名的子目录中,该关联版本位于发布文件夹中的 Application Files 子目录中。

文件名语法

应用程序清单文件的名称应当是该应用程序的完整名称和扩展名(在 assemblyIdentity 元素中标识),后跟扩展名 .manifest。 例如,引用 OutlookAddIn1.dll 自定义项的应用程序清单应使用下面的文件名语法。

OutlookAddIn1.dll.manifest

文档级自定义项示例

说明

下面的代码示例演示应用程序清单的几个部分,它们特定于某个 Visual Studio Tools for Office 解决方案。 此示例描述 Microsoft Office Excel 2007 文档级自定义项。

代码

<entryPoint>
    <co.v1:customHostSpecified />
</entryPoint> 
[...]
<vstav3:addIn 
  xmlns:vstav3="urn:schemas-microsoft-com:vsta.v3">
  <vstav3:entryPointsCollection>
    <vstav3:entryPoints>
      <vstav3:entryPoint 
        class="ContosoExcelWorkbook.ThisWorkbook">
        <assemblyIdentity 
          name="ContosoExcelWorkbook" 
          version="1.0.0.0" 
          language="neutral" 
          processorArchitecture="msil" />
      </vstav3:entryPoint>
      <vstav3:entryPoint 
        class="ContosoExcelWorkbook.Sheet1">
        <assemblyIdentity 
          name="ContosoExcelWorkbook" 
          version="1.0.0.0" 
          language="neutral" 
          processorArchitecture="msil" />
      </vstav3:entryPoint>
      <vstav3:entryPoint 
        class="ContosoExcelWorkbook.Sheet2">
        <assemblyIdentity 
          name="ContosoExcelWorkbook" 
          version="1.0.0.0" 
          language="neutral" 
          processorArchitecture="msil" />
      </vstav3:entryPoint>
      <vstav3:entryPoint 
        class="ContosoExcelWorkbook.Sheet3">
        <assemblyIdentity 
          name="ContosoExcelWorkbook" 
          version="1.0.0.0" 
          language="neutral" 
          processorArchitecture="msil" />
      </vstav3:entryPoint>
    </vstav3:entryPoints>
  </vstav3:entryPointsCollection>
  <vstav3:update 
    enabled="true">
    <vstav3:expiration 
      maximumAge="7" 
      unit="days" />
  </vstav3:update>
  <vstav3:application>
    <vstov4:customizations 
      xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">
      <vstov4:customization>
        <vstov4:document 
          solutionId="73e" />
      </vstov4:customization>
    </vstov4:customizations>
  </vstav3:application>
</vstav3:addIn>

应用程序级外接程序示例

说明

下面的代码示例演示应用程序清单的几个部分,它们特定于某个 Visual Studio Tools for Office 解决方案。 此示例描述包含一个窗体区域的 Microsoft Office Outlook 2007 应用程序级外接程序。

代码

<entryPoint>
    <co.v1:customHostSpecified />
</entryPoint> 
[...]
<vstav3:addIn 
  xmlns:vstav3="urn:schemas-microsoft-com:vsta.v3">
  <vstav3:entryPointsCollection>
    <vstav3:entryPoints>
      <vstav3:entryPoint 
        class="ContosoOutlookAddIn.ThisAddIn">
        <assemblyIdentity 
          name="ContosoOutlookAddIn" 
          version="1.0.0.0" 
          language="neutral" 
          processorArchitecture="msil" />
      </vstav3:entryPoint>
    </vstav3:entryPoints>
  </vstav3:entryPointsCollection>
  <vstav3:update 
    enabled="true">
    <vstav3:expiration 
      maximumAge="7" 
      unit="days" />
  </vstav3:update>
  <vstav3:application>
    <vstov4:customizations 
      xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">
      <vstov4:customization>
        <vstov4:appAddIn 
          application="Outlook" 
          loadBehavior="3" 
          keyName="ContosoOutlookAddIn">
          <vstov4:friendlyName>
            ContosoOutlookAddIn
          </vstov4:friendlyName>
          <vstov4:description>
            ContosoOutlookAddIn - Outlook add-in 
            created with Visual Studio Tools for Office
          </vstov4:description>
          <vstov4:formRegions>
            <vstov4:formRegion
                name="OutlookAddIn1.FormRegion1">
              <vstov4:messageClass name="IPM.Note" />
              <vstov4:messageClass name="IPM.Contact" />
              <vstov4:messageClass name="IPM.Appointment" />
            </vstov4:formRegion>
          </vstov4:formRegions>
        </vstov4:appAddIn>
      </vstov4:customization>
    </vstov4:customizations>
  </vstav3:application>
</vstav3:addIn>

多项目部署示例

说明

下面的代码示例演示应用程序清单的几个部分,它们特定于某个 Visual Studio Tools for Office 解决方案。 此示例描述一个多项目部署,这个部署安装包含一个窗体区域的 Microsoft Office Outlook 2007 应用程序级外接程序和 Microsoft Excel 2007 文档级自定义项。

代码

  <entryPoint>
    <co.v1:customHostSpecified />
  </entryPoint>
[...]
  <dependency>
    <dependentAssembly 
      dependencyType="install" 
      allowDelayedBinding="true" 
      codebase="ContosoExcelWorkbook.dll" 
      size="12800">
      <assemblyIdentity 
        name="ContosoExcelWorkbook" 
        version="1.0.0.0" 
        language="neutral" 
        processorArchitecture="msil" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm=
            "urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm=
            "http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>ONF</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly 
      dependencyType="install" 
      allowDelayedBinding="true" 
      codebase="ContosoOutlookAddIn.dll" 
      size="10240">
      <assemblyIdentity 
        name="ContosoOutlookAddIn" 
        version="1.0.0.0" 
        language="neutral" 
        processorArchitecture="msil" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm=
            "urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm=
            "http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>i4e</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <vstav3:addIn 
    xmlns:vstav3="urn:schemas-microsoft-com:vsta.v3">
    <vstav3:entryPointsCollection>
      <vstav3:entryPoints 
        id="ContosoExcel">
        <vstav3:entryPoint 
          class="ContosoExcelWorkbook.ThisWorkbook">
          <assemblyIdentity 
            name="ContosoExcelWorkbook" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
        </vstav3:entryPoint>
        <vstav3:entryPoint 
          class="ContosoExcelWorkbook.Sheet1">
          <assemblyIdentity 
            name="ContosoExcelWorkbook" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
        </vstav3:entryPoint>
        <vstav3:entryPoint 
          class="ContosoExcelWorkbook.Sheet2">
          <assemblyIdentity 
            name="ContosoExcelWorkbook" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
        </vstav3:entryPoint>
        <vstav3:entryPoint 
          class="ContosoExcelWorkbook.Sheet3">
          <assemblyIdentity 
            name="ContosoExcelWorkbook" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
        </vstav3:entryPoint>
      </vstav3:entryPoints>
      <vstav3:entryPoints 
        id="ContosoOutlook">
        <vstav3:entryPoint 
          class="ContosoOutlookAddIn.ThisAddIn">
          <assemblyIdentity 
            name="ContosoOutlookAddIn" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
        </vstav3:entryPoint>
      </vstav3:entryPoints>
    </vstav3:entryPointsCollection>
    <vstav3:update 
      enabled="true">
      <vstav3:expiration 
        maximumAge="7" 
        unit="days" />
    </vstav3:update>
    <vstav3:application>
      <vstov4:customizations 
        xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4">
        <vstov4:customization 
          id="ContosoExcel">
          <vstov4:document 
            solutionId="73ec4ba9-a983-40b3-af63-5fb172ea81db" />
        </vstov4:customization>
        <vstov4:customization 
          id="ContosoOutlook">
          <vstov4:appAddIn 
            application="Outlook" 
            loadBehavior="3" 
            keyName="ContosoOutlookAddIn">
            <vstov4:friendlyName>
              ContosoOutlookAddIn
            </vstov4:friendlyName>
            <vstov4:description>
              ContosoOutlookAddIn - Outlook add-in created with 
              Visual Studio Tools for Office
            </vstov4:description>
          </vstov4:appAddIn>
        </vstov4:customization>
      </vstov4:customizations>
    </vstav3:application>
  </vstav3:addIn>

部署后操作示例

说明

下面的代码示例演示应用程序清单的几个部分,它们特定于某个 Visual Studio Tools for Office 解决方案。 此示例描述在安装完成后创建注册表项的部署后操作。

代码

<vstav3:postActions>
  <vstav3:postAction>
    <vstav3:entryPoint 
      class="PostDeploymentAction.PostDeploymentActionSample">
      <assemblyIdentity 
        name="PostDeploymentAction" 
        version="1.0.0.0" 
        language="neutral" 
        processorArchitecture="msil" />
    </vstav3:entryPoint>
    <vstav3:postActionData>
    </vstav3:postActionData>
  </vstav3:postAction>
</vstav3:postActions>

请参见

参考

Office 解决方案的部署清单

ClickOnce 应用程序清单