Office 解决方案的应用程序清单
应用程序清单是一个 XML 文件,描述加载到 Microsoft Office 解决方案中的程序集。 Visual Studio 中的 Microsoft Office 开发工具使用 ClickOnce 应用程序清单参考中定义的 ClickOnce 应用程序清单架构。
Office 解决方案的应用程序清单使用以下 ClickOnce 元素和特性。
元素 |
说明 |
特性 |
---|---|---|
必选。 顶级元素。 |
manifestVersion |
|
必选。 标识 ClickOnce 应用程序的主程序集。 |
name version publicKeyToken processorArchitecture language |
|
标识应用程序的安全要求。 |
无 |
|
必选。 标识应用程序代码执行的入口点。 |
name dependencyName customHostSpecified |
|
必选。 标识运行应用程序所需的每个依赖项。 还可以选择标识需要预安装的程序集。 |
无 |
|
必选。 标识应用程序所使用的每个非程序集文件。 可以包括与该文件关联的组件对象模型 (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>
元素 |
说明 |
特性 |
---|---|---|
必选。 将清单专门标识为 Office 解决方案。 |
无 |
|
必选。 将入口点存储到单个命名空间中。 |
无 |
|
必选。 将所有程序集分组为一个或多个 Office 解决方案。 |
id |
|
必选。 将所有程序集分组以运行 Office 解决方案。 |
无 |
|
必选。 标识要在 Office 解决方案中运行的程序集。 |
class contract |
|
必选。 配置解决方案的更新。 |
enabled expiration |
|
可选。 将所有在安装 Office 解决方案后运行的部署后操作分组。 |
无 |
|
可选。 标识部署后操作。 |
无 |
|
可选。 配置部署后操作的数据。 |
无 |
|
必选。 将特定于应用程序的信息封装为单个节点。 |
无 |
|
必选。 在单独的命名空间中存储所有特定于应用程序宿主的信息。 |
无 |
|
必选。 在单独的命名空间中存储特定于应用程序宿主的信息。 |
xmlns |
|
仅对文档级解决方案是必需的。 存储特定于自定义项的信息。 |
solutionId |
|
仅对应用程序级解决方案是必需的。 存储特定于自定义项的信息。 |
application loadBehavior keyName |
|
可选。 存储在已安装外接程序列表中显示的外接程序的名称。 |
无 |
|
仅对应用程序级外接程序是必需的。 存储在已安装程序列表中显示的说明。 |
无 |
|
仅对包括窗体区域的 Outlook 2007 外接程序是必需的。 |
无 |
|
仅对包括窗体区域的 Outlook 2007 外接程序是必需的。 |
Name |
|
必选。 描述 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>