Manifiestos de aplicación para soluciones de Office
Un manifiesto de aplicación es un archivo XML que describe los ensamblados cargados en una solución de Microsoft Office. Las herramientas de desarrollo de Microsoft Office en Visual Studio emplean el esquema de manifiesto de aplicación ClickOnce definido en la referencia Manifiesto de aplicación ClickOnce.
Los manifiestos de aplicación de las soluciones de Office usan los siguientes elementos y atributos ClickOnce.
Elemento |
Descripción |
Atributos |
---|---|---|
Obligatorio. Elemento de nivel superior. |
manifestVersion |
|
Obligatorio. Identifica el ensamblado primario de la aplicación ClickOnce. |
name version publicKeyToken processorArchitecture language |
|
Identifica los requisitos de seguridad de la aplicación. |
Ninguno |
|
Obligatorio. Identifica el punto de entrada del código de aplicación para la ejecución. |
name dependencyName customHostSpecified |
|
Obligatorio. Identifica cada dependencia necesaria para que se ejecute la aplicación. Identifica opcionalmente ensamblados que necesitan preinstalarse. |
Ninguno |
|
Obligatorio. Identifica cada archivo de no ensamblado utilizado por la aplicación. Puede incluir los datos de aislamiento Componente Modelo de objetos (COM) asociados al archivo. |
name size |
Los manifiestos de aplicación de las soluciones de Office tienen el siguiente elemento del espacio de nombres co.v1.
<entryPoint>
<co.v1:customHostSpecified />
</entryPoint>
Estos manifiestos de aplicación también tienen los elementos y atributos siguientes del espacio de nombres vstav3.
<addIn>
<entryPointsCollection>
<entryPoints>
<entryPoint>
</entryPoint>
</entryPoints>
</entryPointsCollection>
<update></update>
<postActions>
<postAction>
<postActionData>
</postActionData>
<postAction>
</postActions>
<application>
<customizations>
<customization>
</customization>
</customizations>
</application
</addIn>
Elemento |
Descripción |
Atributos |
---|---|---|
<customHostSpecified> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Marca específicamente el manifiesto como una solución de Office. |
Ninguno |
Obligatorio. Almacena los puntos de entrada en un espacio de nombres único. |
Ninguno |
|
<entryPointsCollection> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Agrupa todos los ensamblados de una o más soluciones de Office. |
id |
<entryPoints> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Agrupa todos los ensamblados para ejecutar una solución de Office. |
Ninguno |
<entryPoint> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Identifica el ensamblado que se va a ejecutar en una solución de Office. |
class contract |
Obligatorio. Configura las actualizaciones para la solución. |
enabled expiration |
|
<postActions> (Elemento, Desarrollo de Office en Visual Studio) |
Opcional. Agrupa todas las acciones posteriores a la implementación, que se ejecutan una vez instaladas las soluciones de Office. |
Ninguno |
<postAction> (Elemento, Desarrollo de Office en Visual Studio) |
Opcional. Identifica una acción posterior a la implementación. |
Ninguno |
<postActionData> (Elemento, Desarrollo de Office en Visual Studio) |
Opcional. Configura los datos para una acción posterior a la implementación. |
Ninguno |
<application> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Ajusta la información específica de la aplicación en un nodo único. |
Ninguno |
<customizations> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Almacena toda la información específica de la aplicación host en un espacio de nombres independiente. |
Ninguno |
<customization> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Almacena la información específica de la aplicación host en un espacio de nombres independiente. |
xmlns |
<document> (Elemento, Desarrollo de Office en Visual Studio) |
Sólo es necesario para las soluciones de nivel de documento. Almacena la información específica de la personalización. |
solutionId |
<appAddin> (Elemento, Desarrollo de Office en Visual Studio) |
Sólo es necesario para las soluciones de nivel de aplicación. Almacena la información específica de la personalización. |
application loadBehavior keyName |
<friendlyName> (Elemento, Desarrollo de Office en Visual Studio) |
Opcional. Almacena el nombre del complemento que aparece en la lista de complementos instalados. |
Ninguno |
<description> (Elemento, Desarrollo de Office en Visual Studio) |
Sólo es necesario para los complementos de nivel de aplicación. Almacena la descripción que aparece en la lista de programas instalados. |
Ninguno |
<formRegions> (Elemento, Desarrollo de Office en Visual Studio) |
Sólo se requiere para complementos de Outlook 2007 que incluyen áreas de formulario. |
Ninguno |
<formRegion> (Elemento, Desarrollo de Office en Visual Studio) |
Sólo se requiere para complementos de Outlook 2007 que incluyen áreas de formulario. |
Name |
<vstoRuntime> (Elemento, Desarrollo de Office en Visual Studio) |
Obligatorio. Describe una versión concreta del runtime de Visual Studio Tools para Office compatible con la solución de Office. |
release version supportUrl |
Comentarios
Puede editar de forma manual los manifiestos de aplicación e implementación de las soluciones de Office. Después, tendrá que volver a firmar los manifiestos de aplicación e implementación mediante la Herramienta de generación y edición de manifiestos (mage.exe y mageui.exe). Para obtener más información, vea Cómo: Volver a firmar manifiestos de aplicación e implementación.
Ubicación del archivo
Cada manifiesto de aplicación es específico para una única versión de una solución. Por esta razón, los manifiestos de aplicación se deben almacenar de forma independiente con respecto a los manifiestos de implementación. Visual Studio coloca los archivos específicos de la versión en un subdirectorio con el nombre de la versión asociada en el subdirectorio Archivos de aplicación en la carpeta de publicación.
Sintaxis de los nombres de archivo
El nombre de un archivo de manifiesto de aplicación debe ser el nombre completo y la extensión de la aplicación, tal y como se identifica en el elemento assemblyIdentity, seguido de la extensión .manifest. Por ejemplo, un manifiesto de aplicación que hace referencia a la personalización OutlookAddIn1.dll usaría la sintaxis de nombre de archivo siguiente.
OutlookAddIn1.dll.manifest
Ejemplo de personalización de nivel de documento
Descripción
En el ejemplo de código siguiente se muestran las secciones de un manifiesto de aplicación específicas de una solución de Visual Studio Tools para Office. En este ejemplo se describe una personalización de nivel de documento de Microsoft Office Excel 2007.
Código
<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>
Ejemplo de complemento de nivel de aplicación
Descripción
En el ejemplo de código siguiente se muestran las secciones de un manifiesto de aplicación específicas de una solución de Visual Studio Tools para Office. En este ejemplo se describe un complemento de nivel de aplicación de Microsoft Office Outlook 2007 que incluye un área de formulario.
Código
<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>
Ejemplo de implementación de varios proyectos
Descripción
En el ejemplo de código siguiente se muestran las secciones de un manifiesto de aplicación específicas de una solución de Visual Studio Tools para Office. En este ejemplo se describe una implementación de varios proyectos que instala un complemento de nivel de aplicación de Microsoft Outlook 2007 con un área de formulario y una personalización de nivel de documento de Microsoft Excel 2007.
Código
<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>
Ejemplo de acciones posteriores a la implementación
Descripción
En el ejemplo de código siguiente se muestran las secciones de un manifiesto de aplicación específicas de una solución de Visual Studio Tools para Office. En este ejemplo se describe una acción posterior a la implementación que crea una clave del Registro una vez que se completa la instalación.
Código
<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>