Freigeben über


Anwendungsmanifeste für Office-Projektmappen

Bei einem Anwendungsmanifest handelt es sich um eine XML-Datei, die die Assemblys beschreibt, die in eine Microsoft Office-Projektmappe geladen werden. Für die Microsoft Office-Entwicklungstools in Visual Studio wird das in der Referenz ClickOnce-Anwendungsmanifest definierte ClickOnce-Anwendungsmanifestschema verwendet.

In Anwendungsmanifesten für Office-Projektmappen werden die folgenden ClickOnce-Elemente und -Attribute verwendet.

Element

Beschreibungen

Attribute

<assembly>-Element (ClickOnce-Anwendung)

Erforderlich. Oberstes Element.

manifestVersion

<assemblyIdentity>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert die primäre Assembly der ClickOnce-Anwendung.

name

version

publicKeyToken

processorArchitecture

language

<trustInfo>-Element (ClickOnce-Anwendung)

Identifiziert die Sicherheitsanforderungen der Anwendung.

None

<entryPoint>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert den Anwendungscodeeinstiegspunkt für die Ausführung.

name

dependencyName

customHostSpecified

<dependency>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert die zum Ausführen der Anwendung erforderlichen Abhängigkeiten. Identifiziert optional Assemblys, die vorinstalliert werden müssen.

None

<file>-Element (ClickOnce-Anwendung)

Erforderlich. Identifiziert jede Nicht-Assemblydatei, die von der Anwendung verwendet wird. Kann der Datei zugeordnete COM-Isolationsdaten (Component Object Model) umfassen.

name

size

Anwendungsmanifeste für Office-Projektmappen weisen im co.v1-Namespace das folgende Element auf.

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

Diese Anwendungsmanifeste weisen im vstav3-Namespace auch die folgenden Elemente und Attribute auf.

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

Element

Beschreibungen

Attribute

<customHostSpecified>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Markiert das Manifest speziell als Office-Projektmappe.

None

<addin>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Speichert Einstiegspunkte in einem einzelnen Namespace.

None

<entryPointsCollection>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Gruppiert alle Assemblys für eine oder mehrere Office-Projektmappen.

id

<entryPoints>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Gruppiert alle Assemblys für die Ausführung einer Office-Projektmappe.

None

<entryPoint>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Bezeichnet die Assembly, die in einer Office-Projektmappe ausgeführt werden soll.

class

contract

<update>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Konfiguriert Aktualisierungen für die Projektmappe.

enabled

expiration

<postActions>-Element (Office-Entwicklung in Visual Studio)

Optional. Gruppiert alle Aktionen nach der Bereitstellung, die nach der Installation der Office-Projektmappen ausgeführt werden.

None

<postAction>-Element (Office-Entwicklung in Visual Studio)

Optional. Bezeichnet eine Aktion nach der Bereitstellung.

None

<postActionData>-Element (Office-Entwicklung in Visual Studio)

Optional. Konfiguriert Daten für eine Aktion nach der Bereitstellung.

None

<application>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Umschließt die anwendungsspezifischen Informationen in einem Einzelknoten.

None

<customizations>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Speichert alle anwendungshostspezifischen Informationen in einem gesonderten Namespace.

None

<customization>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Speichert anwendungshostspezifische Informationen in einem gesonderten Namespace.

xmlns

<document>-Element (Office-Entwicklung in Visual Studio)

Nur für Projektmappen auf Dokumentebene erforderlich. Speichert anpassungsspezifische Informationen.

solutionId

<appAddin>-Element (Office-Entwicklung in Visual Studio)

Nur für Projektmappen auf Anwendungsebene erforderlich. Speichert anpassungsspezifische Informationen.

application

loadBehavior

keyName

<friendlyName>-Element (Office-Entwicklung in Visual Studio)

Optional. Speichert den Namen des Add-Ins, das in der Liste der installierten Add-Ins angezeigt wird.

None

<description>-Element (Office-Entwicklung in Visual Studio)

Nur für Add-Ins auf Anwendungsebene erforderlich. Speichert die Beschreibung, die in der Liste der installierten Programme angezeigt wird.

None

<formRegions>-Element (Office-Entwicklung in Visual Studio)

Nur für Outlook 2007-Add-Ins erforderlich, die Formularbereiche beinhalten.

None

<formRegion>-Element (Office-Entwicklung in Visual Studio)

Nur für Outlook 2007-Add-Ins erforderlich, die Formularbereiche beinhalten.

Name

<vstoRuntime>-Element (Office-Entwicklung in Visual Studio)

Erforderlich. Beschreibt eine bestimmte, von der Office-Projektmappe unterstützte Version der Visual Studio Tools for Office-Laufzeit.

release

version

supportUrl

Hinweise

Anwendungs- und Bereitstellungsmanifeste in Office-Lösungen können manuell bearbeitet werden. Anschließend müssen Sie die Anwendungs- und Bereitstellungsmanifeste müssen mit dem Tool zum Generieren und Bearbeiten von Manifesten (mage.exe und mageui.exe) erneut signieren. Weitere Informationen finden Sie unter Gewusst wie: Erneutes Signieren von Anwendungs- und Bereitstellungsmanifesten.

Dateispeicherort

Ein Anwendungsmanifest ist nur für eine einzelne Version einer Projektmappe bestimmt. Aus diesem Grund müssen Anwendungsmanifeste getrennt von Bereitstellungsmanifesten gespeichert werden. Visual Studio platziert die versionsspezifischen Dateien in einem Unterverzeichnis, das entsprechend der zugeordneten Version im Unterverzeichnis Anwendungsdateien im Veröffentlichungsordner benannt ist.

Dateinamensyntax

Der Name einer Anwendungsmanifestdatei muss mit dem im assemblyIdentity-Element identifizierten vollständigen Namen und der entsprechenden Erweiterung identisch sein und die Erweiterung .manifest aufweisen. Beispielsweise verwendet ein Anwendungsmanifest, das auf die OutlookAddIn1.dll-Anpassung verweist, die folgende Dateinamensyntax.

OutlookAddIn1.dll.manifest

Beispiel für die Anpassung auf Dokumentebene

Beschreibungen

Im folgenden Codebeispiel werden die für eine Visual Studio Tools for Office-Projektmappe spezifischen Abschnitte eines Anwendungsmanifests gezeigt. In diesem Beispiel wird eine Microsoft Office Excel 2007-Anpassung auf Dokumentebene beschrieben.

Code

<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>

Beispiel für Add-Ins auf Anwendungsebene

Beschreibungen

Im folgenden Codebeispiel werden die für eine Visual Studio Tools for Office-Projektmappe spezifischen Abschnitte eines Anwendungsmanifests gezeigt. In diesem Beispiel wird ein Microsoft Office Outlook 2007-Add-In auf Anwendungsebene beschrieben, das einen Formularbereich enthält.

Code

<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>

Beispiel für die Bereitstellung mehrerer Projekte

Beschreibungen

Im folgenden Codebeispiel werden die für eine Visual Studio Tools for Office-Projektmappe spezifischen Abschnitte eines Anwendungsmanifests gezeigt. In diesem Beispiel wird eine Bereitstellung von mehreren Projekten beschrieben, mit der ein Microsoft Outlook 2007-Add-In auf Anwendungsebene mit einem Formularbereich und eine Microsoft Excel 2007-Anpassung auf Dokumentebene installiert werden.

Code

  <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>

Beispiel für Aktionen nach der Bereitstellung

Beschreibungen

Im folgenden Codebeispiel werden die für eine Visual Studio Tools for Office-Projektmappe spezifischen Abschnitte eines Anwendungsmanifests gezeigt. In diesem Beispiel wird eine Aktion nach der Bereitstellung beschrieben, mit der nach Abschluss der Installation ein Registrierungsschlüssel erstellt wird.

Code

<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>

Siehe auch

Referenz

Bereitstellungsmanifeste für Office-Projektmappen

ClickOnce-Anwendungsmanifest