Verwenden von parallelen Assemblys

Verwenden Sie das folgende Verfahren, um eine neue Anwendung zu entwickeln oder eine vorhandene Anwendung zu aktualisieren, um die parallelen Assemblys zu verwenden, die von Microsoft oder anderen parallelen Assemblyverlegern verfügbar sind. Eine Liste der parallelen Assemblys, die derzeit von Microsoft bereitgestellt werden, finden Sie unter Unterstützte Parallele Microsoft-Assemblys. Beachten Sie, dass die Anwendung mindestens unter Windows XP ausgeführt werden muss, um die Assemblys als parallele Assemblys zu installieren. Weitere Informationen finden Sie unter Richtlinien zum Erstellen von parallelen Assemblys.

So fügen Sie einer Anwendung eine parallele Assembly hinzu

  1. Identifizieren Sie die parallelen Assemblys, die Für Ihre Anwendung erforderlich sind. Ab Windows XP werden diese parallelen Assemblys und ihre Assemblymanifeste mit dem Betriebssystem installiert, aber nicht global registriert.

  2. Verwenden Sie einen XML-Editor, um ein Anwendungsmanifest zu erstellen. Sehen Sie sich das Beispielanwendungsmanifest unten an. Weitere Informationen finden Sie unter Anwendungsmanifeste in der Referenz zu Manifestdateien.

  3. Geben Sie Attributwerte in das DEF-context assemblyIdentity-Unterelement des Anwendungsmanifests ein, das die Anwendung eindeutig definiert. Weitere Informationen zu DEF-context assemblyIdentity finden Sie unter Anwendungsmanifeste.

  4. Wenn die Assembly abhängige Assemblys enthält, geben Sie Attributwerte in die entsprechenden REF-context assemblyIdentity-Unterelemente des Anwendungsmanifests ein. Weitere Informationen zur REF-context assemblyIdentity finden Sie unter Anwendungsmanifeste.

    <dependentAssembly>
      <assemblyIdentity type="win32"
                        name="Microsoft.Windows.SampleAssembly"
                        version="6.0.0.0" processorArchitecture="x86"
                        publicKeyToken="a5aaf5ba15723d5"/>
    
  5. Sie können das Anwendungsmanifest in die binäre ausführbare Headerdatei der Anwendung einschließen.

    Fügen Sie in diesem Fall auch die folgende Zeile zur Anwendungsheaderdatei hinzu:

    CREATEPROCESS\_MANIFEST\_RESOURCE\_ID RT\_MANIFEST "YourApp.exe.manifest"

    Alternativ können Sie eine separate Manifestdatei im selben Verzeichnis wie die ausführbare Datei Ihrer Anwendung ablegen. Das Betriebssystem lädt zuerst das Manifest aus dem Dateisystem und überprüft dann den Ressourcenabschnitt der ausführbaren Datei. Die Dateisystemversion hat Vorrang.

  6. Freigegebene Assemblys sollten mit Windows Installer Version 2.0 installiert werden. Erstellen Sie ein Windows Installer-Paket, wie unter Wie installiere ich Win32-Assemblys für die parallele Freigabe unter Windows XP? beschrieben.

  7. Private Assemblys können mithilfe der Windows Installer-Version 2.0 installiert werden. Erstellen Sie ein Windows Installer-Paket, wie unter Wie installiere ich Win32-Assemblys für die private Verwendung einer Anwendung unter Windows XP? beschrieben. Sie können auch ein beliebiges anderes Installationsprogramm verwenden, um eine private Assembly und ihr Manifest in denselben Ordner wie die ausführbare Datei der Anwendung zu kopieren.

  8. Testen Sie Ihre Anwendung, um die Ergebnisse sicherzustellen. Beachten Sie, dass auf Ihrem Testcomputer die parallele Assembly nicht registriert sein sollte.

  9. Stellen Sie Ihre Anwendung oder Ihr Update als Windows Installer-Paket bereit.

Beispielanwendungsmanifest

Im Folgenden finden Sie ein Beispiel für ein Anwendungsmanifest:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity type="win32" name="Microsoft.Windows.mysampleapp" version="1.0.0.0" processorArchitecture="x86"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.SampleAssembly" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="a5aaf5ba15723d5"/>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Tools.MyPrivateDll" version="2.5.0.0" processorArchitecture="x86"/>
    </dependentAssembly>
  </dependency>
</assembly>