Anwendungsmanifeste

Ein Anwendungsmanifest ist eine XML-Datei, die die freigegebenen und privaten parallelen Assemblys beschreibt und identifiziert, an die sich eine Anwendung zur Laufzeit binden soll. Dabei sollte es sich um die gleichen Assemblyversionen handeln, die zum Testen der Anwendung verwendet wurden. Anwendungsmanifeste können auch Metadaten für private Anwendungsdateien beschreiben.

Eine vollständige Liste des XML-Schemas finden Sie unter Manifestdateischema.

Anwendungsmanifeste verfügen über die folgenden Elemente und Attribute.

Element Attribute Erforderlich
Versammlung Ja
manifestVersion Ja
noInherit Nein
Assemblyidentity Ja
type Ja
name Ja
language Nein
processorArchitecture Nein
version Ja
Publickeytoken Nein
Kompatibilität Nein
application Nein
supportedOS Id Nein
maxversiontested Id Nein
Abhängigkeit Nein
Dependentassembly Nein
file Nein
name Nein
Hashalg Nein
hash Nein
activeCodePage Nein
autoElevate Nein
disableTheming Nein
disableWindowFiltering Nein
dpiAware Nein
dpiAwareness Nein
gdiScaling Nein
highResolutionScrollingAware Nein
longPathAware Nein
printerDriverIsolation Nein
ultraHighResolutionScrollingAware Nein
msix Nein
heapType Nein

Dateispeicherort

Anwendungsmanifeste sollten als Ressource in der EXE-Datei oder DLL der Anwendung enthalten sein.

Weitere Informationen finden Sie unter Installieren von nebenseitigen Assemblys.

Dateinamensyntax

Der Name einer Anwendungsmanifestdatei ist der Name der ausführbaren Datei der Anwendung gefolgt von .manifest.

Beispielsweise würde ein Anwendungsmanifest, das auf example.exe oder example.dll verweist, die folgende Dateinamensyntax verwenden. Sie können die <Ressourcen-ID> Feld weglassen, wenn die Ressourcen-ID 1 ist.

example.exe.<Ressourcen-ID>.manifest

example.dll.<Ressourcen-ID>.manifest

Elemente

Bei Namen von Elementen und Attributen wird die Groß-/Kleinschreibung beachtet. Bei den Werten von Elementen und Attributen wird die Groß-/Kleinschreibung mit Ausnahme des Werts des Typattributs nicht beachtet.

Assembly

Ein Containerelement. Das erste Unterelement muss ein noInherit- oder assemblyIdentity-Element sein. Erforderlich.

Das Assemblyelement muss sich im Namespace "urn:schemas-microsoft-com:asm.v1" befinden. Untergeordnete Elemente der Assembly müssen sich ebenfalls in diesem Namespace befinden, entweder durch Vererbung oder durch Tagging.

Das Assemblyelement weist die folgenden Attribute auf.

attribute BESCHREIBUNG
manifestVersion Das manifestVersion-Attribut muss auf 1.0 festgelegt werden.

noInherit

Schließen Sie dieses Element in ein Anwendungsmanifest ein, um die vom Manifest generierten Aktivierungskontexte mit dem Flag "no inherit" (Kein Erben) zu setzen. Wenn dieses Flag nicht in einem Aktivierungskontext festgelegt ist und der Aktivierungskontext aktiv ist, wird es von neuen Threads im gleichen Prozess, Fenstern, Fensterprozeduren und asynchronen Prozeduraufrufen geerbt. Das Festlegen dieses Flags verhindert, dass das neue Objekt den aktiven Kontext erbt.

Das noInherit-Element ist optional und wird in der Regel ausgelassen. Die meisten Assemblys funktionieren nicht ordnungsgemäß mit einem Aktivierungskontext ohne Erben, da die Assembly explizit so entworfen werden muss, dass sie die Weitergabe ihres eigenen Aktivierungskontexts verwaltet. Die Verwendung des noInherit-Elements erfordert, dass alle abhängigen Assemblys, auf die vom Anwendungsmanifest verwiesen wird, über ein noInherit-Element in ihrem Assemblymanifest verfügen.

Wenn noInherit in einem Manifest verwendet wird, muss es das erste Unterelement des Assemblyelements sein. Das assemblyIdentity-Element sollte unmittelbar nach dem noInherit-Element beginnen. Wenn noInherit nicht verwendet wird, muss assemblyIdentity das erste Unterelement des Assemblyelements sein. Das noInherit-Element verfügt über keine untergeordneten Elemente. Es ist kein gültiges Element in Assemblymanifesten.

assemblyIdentity

Als erstes Unterelement eines Assemblyelements beschreibt assemblyIdentity die Anwendung, die dieses Anwendungsmanifest besitzt, und identifiziert sie eindeutig. Als erstes Unterelement eines dependentAssembly-Elements beschreibt assemblyIdentity eine für die Anwendung erforderliche side-by-side-Assembly. Beachten Sie, dass jede Assembly, auf die im Anwendungsmanifest verwiesen wird, eine assemblyIdentity erfordert, die genau mit der assemblyIdentity im eigenen Assemblymanifest der Assembly, auf die verwiesen wird, entspricht.

Das assemblyIdentity-Element verfügt über die folgenden Attribute. Er verfügt über keine Unterelemente.

attribute BESCHREIBUNG
type Gibt den Anwendungs- oder Assemblytyp an. Der Wert muss Win32 und alle in Klein klein sein. Erforderlich.
name Benennt die Anwendung oder Assembly eindeutig. Verwenden Sie das folgende Format für den Namen: Organization.Division.Name. Beispiel: Microsoft. Windows.mysampleApp. Erforderlich.
language Identifiziert die Sprache der Anwendung oder Assembly. Optional. Wenn die Anwendung oder Assembly sprachspezifisch ist, geben Sie den DHTML-Sprachcode an. In der assemblyIdentity einer Anwendung, die für die weltweite Verwendung vorgesehen ist (sprachneutral), lässt das Sprachattribut weg.
Legen Sie in einer assemblyIdentity einer Assembly, die für die weltweite Verwendung vorgesehen ist (sprachneutral), den Wert der Sprache auf " * " fest.
processorArchitecture Gibt den Prozessor an. Gültige Werte sind x86, amd64, arm und arm64. Optional.
version Gibt die Anwendungs- oder Assemblyversion an. Verwenden Sie das vierteilige Versionsformat mmmmm.nnnnn.ooooo.ooooo.oopp. Jeder durch Punkte getrennte Teil kann 0 bis 65535 einschließlich sein. Weitere Informationen finden Sie unter Assemblyversionen. Erforderlich.
Publickeytoken Eine hexadezimale Zeichenfolge mit 16 Zeichen, die die letzten 8 Bytes des SHA-1-Hashs des öffentlichen Schlüssels darstellt, unter dem die Anwendung oder Assembly signiert ist. Der öffentliche Schlüssel, der zum Signieren des Katalogs verwendet wird, muss mindestens 2.048 Bit groß sein. Erforderlich für alle freigegebenen, nebenseitigen Assemblys.

Kompatibilität

Enthält mindestens eine Anwendung. Sie verfügt über keine Attribute. Optional. Anwendungsmanifeste ohne Kompatibilitätselement verwenden standardmäßig Windows Vista-Kompatibilität auf Windows 7.

application

Enthält mindestens ein supportedOS-Element. Ab Windows 10 Version 1903 kann es auch ein optionales maxversiontested-Element enthalten. Sie verfügt über keine Attribute. Optional.

supportedOS

Das supportedOS-Element verfügt über das folgende Attribut. Er verfügt über keine Unterelemente.

attribute BESCHREIBUNG
Id Legen Sie das Id-Attribut auf {e2011457-1546-43c5-a5fe-008deee3d3f0} fest, um die Anwendung mithilfe der Vista-Funktionalität ausführen zu können. Dadurch kann eine Anwendung, die für Windows Vista entwickelt wurde, unter einem späteren Betriebssystem ausgeführt werden.
Legen Sie das Id-Attribut auf {35138b9a-5d96-4fbd-8e2d-a2440225f93a} fest, um die Anwendung mit Windows 7-Funktionalität ausführen zu können.
Anwendungen, die Windows Vista, Windows 7 und Windows 8 unterstützen, erfordern keine separaten Manifeste. Fügen Sie in diesem Fall die GUIDs für alle Windows hinzu.
Informationen zum Verhalten des ID-Attributs in Windows finden Sie im Windows 8 und Windows Server 2012 Compatibility Cookbook.
Die folgenden GUIDs entsprechen den angegebenen Betriebssystemen:
{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} -> Windows 10, Windows 11, Windows Server 2016, Windows Server 2019 und Windows Server 2022
{1f676c76-80e1-4239-95bb-83d0f6d0da78} -> Windows 8.1 und Windows Server 2012 R2
{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} -> Windows 8 und Windows Server 2012
{35138b9a-5d96-4fbd-8e2d-a2440225f93a} -> Windows 7 und Windows Server 2008 R2
{e2011457-1546-43c5-a5fe-008deee3d3f0} -> Windows Vista und Windows Server 2008
Sie können dies auf Windows 7 oder Windows 8.x testen, indem Sie Ressourcenmonitor (Resmon) ausführen, zur Registerkarte CPU gehen, mit der rechten Maustaste auf die Spaltenbezeichnungen "Spalte auswählen..." klicken und "Betriebssystemkontext" aktivieren. Auf Windows 8.x finden Sie diese Spalte auch im Task-Manager (taskmgr). Der Inhalt der Spalte zeigt den höchsten gefundenen Wert oder "Windows Vista" als Standard an.

maxversiontested

Das maxversiontested-Element gibt die Versionen von Windows, mit denen die Anwendung getestet wurde, beginnend mit der Mindestversion des Betriebssystems, die von der Anwendung bis zur maximalen Version unterstützt wird. Den vollständigen Satz von Versionen finden Sie hier. Dies ist für Desktopanwendungen vorgesehen, die XAML Islands verwenden und nicht in einem MSIX-Paket bereitgestellt werden. Dieses Element wird in Windows 10 Version 1903 und höher unterstützt.

Das maxversiontested-Element verfügt über das folgende Attribut. Er verfügt über keine Unterelemente.

attribute BESCHREIBUNG
Id Legen Sie das Id-Attribut auf eine 4-Teil-Versionszeichenfolge fest, die die maximale Version der Windows angibt, für die die Anwendung getestet wurde. Beispiel: "10.0.18226.0".

dependency

Enthält mindestens eine dependentAssembly. Sie verfügt über keine Attribute. Optional.

dependentAssembly

Das erste Unterelement von dependentAssembly muss ein assemblyIdentity-Element sein, das eine für die Anwendung erforderliche side-by-side-Assembly beschreibt. Jede dependentAssembly muss sich innerhalb genau einer Abhängigkeit befinden. Sie verfügt über keine Attribute.

file

Gibt Dateien an, die für die Anwendung privat sind. Optional.

Das Dateielement verfügt über die in der folgenden Tabelle gezeigten Attribute.

attribute BESCHREIBUNG
name Der Name der Datei. Beispiel: Comctl32.dll.
Hashalg Algorithmus, der zum Erstellen eines Hashs der Datei verwendet wird. Dieser Wert sollte SHA1 sein.
hash Ein Hash der Datei, auf die anhand des Namens verwiesen wird. Eine hexadezimale Zeichenfolge der Länge, die vom Hashalgorithmus abhängt.

activeCodePage

Auf Windows 10 erzwingt dieses Element, dass ein Prozess UTF-8 als Prozesscodepage verwendet. Weitere Informationen finden Sie unter Verwenden der UTF-8-Codepage. Auf Windows 10 ist UTF-8 der einzige gültige Wert für activeCodePage.

Ab Windows 11 ermöglicht dieses Element auch die Auswahl der Legacy-Codepage, die nicht UTF-8 ist, oder der Codepages für ein bestimmtes Gebietsschema, um die Kompatibilität von Legacyanwendungen zu gewährleisten. Modernen Anwendungen wird dringend empfohlen, Unicode zu verwenden. Auf Windows 11 kann activeCodePage auch auf den Wert Legacy oder einen Gebietsschemanamen wie en-US oder ja-JP festgelegt werden.

  • Auf Computern, die für eine aktive UTF-8-Systemcodepage konfiguriert sind, wird der Prozess von Legacy auf die Codepages des Systemschemas zurückgesetzt. Wenn das Systemschema keine definierten Codepages enthält, wird Windows-1252/437 verwendet. Die Einstellung Legacycodepage wird nur in Fusion-Manifesten unterstützt und beginnt nur mit Windows 11.
  • Wenn ein Gebietsschemaname wie en-US angegeben wird, wird die Prozesscodepage entsprechend für diese Gebietsschema-Codepage festgelegt. Beispiel: Windows-1252 und 437 für en-US oder 932 für ja-JP.

Dieses Element wurde erstmals in Windows 10 Version 1903 (Update vom Mai 2019) hinzugefügt. Sie können diese Eigenschaft deklarieren und auf früheren Windows Builds als Ziel bzw. ausführen, aber Sie müssen die Erkennung und Konvertierung von Legacycodeseiten wie gewohnt behandeln. Dieses Element weist keine Attribute auf.

Im folgenden Beispiel wird veranschaulicht, wie sie dieses Element verwenden, um zu erzwingen, dass der aktuelle Prozess UTF-8 als Prozesscodepage verwendet.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings"> 
      <activeCodePage>UTF-8</activeCodePage> 
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

autoElevate

Gibt an, ob die automatische Erhöhung von Rechten aktiviert ist. TRUE gibt an, dass sie aktiviert ist. Sie verfügt über keine Attribute.

disableTheming

Gibt an, ob das Angeben von Benutzeroberflächenelementen zu einem Design deaktiviert ist. TRUE gibt an, dass deaktiviert ist. Sie verfügt über keine Attribute.

disableWindowFiltering

Gibt an, ob die Fensterfilterung deaktiviert werden soll. TRUE deaktiviert die Fensterfilterung, sodass Sie immersive Fenster auf dem Desktop aufzählen können. disableWindowFiltering wurde in Windows 8 hinzugefügt und weist keine Attribute auf.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <disableWindowFiltering>true</disableWindowFiltering>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

dpiAware

Gibt an, ob der aktuelle Prozess Punkt pro Zoll (DPI) erkennt.

Windows 10, Version 1607: Das dpiAware-Element wird ignoriert, wenn das dpiAwareness-Element vorhanden ist. Sie können beide Elemente in ein Manifest einschließen, wenn Sie ein anderes Verhalten für Windows 10, Version 1607, als für eine frühere Version des Betriebssystems angeben möchten.

In der folgenden Tabelle wird das Verhalten beschrieben, das sich basierend auf dem Vorhandensein des dpiAware-Elements und des darin enthaltenen Texts ergibt. Beim Text im Element wird die Groß-/Kleinschreibung nicht beachtet.

Status des dpiAware-Elements BESCHREIBUNG
„Absent“ Der aktuelle Prozess ist standardmäßig nicht dpi. Sie können diese Einstellung programmgesteuert ändern, indem Sie die Funktion SetProcessDpiAwareness oder SetProcessDPIAware aufrufen.
Enthält "true" Der aktuelle Prozess ist systemdpi-fähigen.
Enthält "false" Windows Vista, Windows 7 und Windows 8: Das Verhalten ist identisch mit dem, wenn dpiAware nicht vorhanden ist.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist nicht dpi, und Sie können diese Einstellung nicht programmgesteuert ändern, indem Sie die Funktion SetProcessDpiAwareness oder SetProcessDPIAware aufrufen.
Enthält "true/pm" Windows Vista, Windows 7 und Windows 8: Der aktuelle Prozess ist vom System dpi-basiert.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist monitorspezifische dpi-fähige Prozesse.
Enthält "pro Monitor" Windows Vista, Windows 7 und Windows 8: Das Verhalten ist identisch mit dem, wenn dpiAware nicht vorhanden ist.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist monitorspezifische dpi-fähige Prozesse.
Enthält eine beliebige andere Zeichenfolge. Windows Vista, Windows 7 und Windows 8: Das Verhalten ist identisch mit dem, wenn dpiAware nicht vorhanden ist.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist nicht dpi, und Sie können diese Einstellung nicht programmgesteuert ändern, indem Sie die Funktion SetProcessDpiAwareness oder SetProcessDPIAware aufrufen.

Weitere Informationen zu DPI-Einstellungen finden Sie unter Vergleich der DPI-Wahrnehmungsstufen.

dpiAware verfügt über keine Attribute.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

dpiAwareness

Gibt an, ob der aktuelle Prozess Punkt pro Zoll (DPI) erkennt.

Die Mindestversion des Betriebssystems, das das dpiAwareness-Element unterstützt, ist Windows 10 Version 1607. Bei Versionen, die das dpiAwareness-Element unterstützen, überschreibt dpiAwareness das dpiAware-Element. Sie können beide Elemente in ein Manifest einschließen, wenn Sie ein anderes Verhalten für Windows 10, Version 1607, als für eine frühere Version des Betriebssystems angeben möchten.

Das dpiAwareness-Element kann ein einzelnes Element oder eine Liste von durch Trennzeichen getrennten Elementen enthalten. Im letzteren Fall wird das erste (ganz links) Element in der Liste verwendet, das vom Betriebssystem erkannt wird. Auf diese Weise können Sie unterschiedliche Verhaltensweisen angeben, die in zukünftigen Windows Betriebssystemversionen unterstützt werden.

In der folgenden Tabelle wird das Verhalten beschrieben, das sich ergibt, basierend auf dem Vorhandensein des dpiAwareness-Elements und des Texts, der in seinem am weitesten links erkannten Element enthalten ist. Beim Text im Element wird die Groß-/Kleinschreibung nicht beachtet.

dpiAwareness-Elementstatus: BESCHREIBUNG
Das Element ist nicht vorhanden. Das dpiAware-Element gibt an, ob der Prozess dpi-fähigent ist.
Enthält keine erkannten Elemente Der aktuelle Prozess ist standardmäßig nicht dpi. Sie können diese Einstellung programmgesteuert ändern, indem Sie die Funktion SetProcessDpiAwareness oder SetProcessDPIAware aufrufen.
Das erste erkannte Element ist "system". Der aktuelle Prozess ist systemdpi-fähigen.
Das erste erkannte Element ist "permonitor". Der aktuelle Prozess ist monitorspezifische dpi-fähige Prozesse.
Das erste erkannte Element ist "permonitorv2". Im aktuellen Prozess wird der DPI-Kontext pro Monitor-v2 verwendet. Dieses Element wird nur in Windows 10 Version 1703 oder höher erkannt.
Das erste erkannte Element ist "nicht bekannt". Der aktuelle Prozess ist dpi nicht bekannt. Sie können diese Einstellung nicht programmgesteuert ändern, indem Sie die Funktion SetProcessDpiAwareness oder SetProcessDPIAware aufrufen.

Weitere Informationen zu DPI-Einstellungen, die von diesem Element unterstützt werden, finden Sie unter DPI _ AWARENESS und DPI _ AWARENESS _ CONTEXT.

dpiAwareness verfügt über keine Attribute.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <dpiAwareness>PerMonitorV2, unaware</dpiAwareness>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

gdiScaling

Gibt an, ob GDI-Skalierung aktiviert ist. Die Mindestversion des Betriebssystems, das das gdiScaling-Element unterstützt, ist Windows 10 Version 1703.

Das GDI-Framework (Grafikgeräteschnittstelle) kann DPI-Skalierung auf Primitive und Text pro Monitor anwenden, ohne die Anwendung selbst zu aktualisieren. Dies kann nützlich sein, wenn GDI-Anwendungen nicht mehr aktiv aktualisiert werden.

Nicht vektorielle Grafiken (z. B. Bitmaps, Symbole oder Symbolleisten) können von diesem Element nicht skaliert werden. Darüber hinaus können Grafiken und Text, die in Bitmaps angezeigt werden, die dynamisch von Anwendungen erstellt werden, auch nicht von diesem Element skaliert werden.

TRUE gibt an, dass dieses Element aktiviert ist. Sie verfügt über keine Attribute.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
      <gdiScaling>true</gdiScaling>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

highResolutionScrollingAware

Gibt an, ob bildlauffähiges Scrollen mit hoher Auflösung aktiviert ist. TRUE gibt an, dass es aktiviert ist. Sie verfügt über keine Attribute.

longPathAware

Aktiviert lange Pfade, die die MAX_PATH überschreiten. Dieses Element wird in Windows 10 Version 1607 und höher unterstützt. hier finden Sie weitere Informationen

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <ws2:longPathAware>true</ws2:longPathAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

printerDriverIsolation

Gibt an, ob die Druckertreiberisolation aktiviert ist. TRUE gibt an, dass es aktiviert ist. Sie verfügt über keine Attribute. Die Druckertreiberisolation verbessert die Zuverlässigkeit des Windows Druckdiensts, da Druckertreiber in Prozessen ausgeführt werden können, die von dem Prozess getrennt sind, in dem der Druckspooler ausgeführt wird. Die Unterstützung der Druckertreiberisolation wurde in Windows 7 und Windows Server 2008 R2 gestartet. Eine App kann die Druckertreiberisolation in ihrem App-Manifest deklarieren, um sich vom Druckertreiber zu isolieren und die Zuverlässigkeit zu verbessern. Das heißt, die App stürzt nicht ab, wenn der Druckertreiber einen Fehler hat.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <printerDriverIsolation>true</printerDriverIsolation>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

ultraHighResolutionScrollingAware

Gibt an, ob Ultra-Bildlauf mit hoher Auflösung aktiviert ist. TRUE gibt an, dass es aktiviert ist. Sie verfügt über keine Attribute.

MSIX

Gibt die Identitätsinformationen eines MSIX-Sparsepakets für die aktuelle Anwendung an. Dieses Element wird in Windows 10 Version 2004 und höher unterstützt.

Das msix-Element muss sich im Namespace urn:schemas-microsoft-com:msix.v1 befinden. Sie enthält die in der folgenden Tabelle gezeigten Attribute.

attribute BESCHREIBUNG
publisher Beschreibt die Herausgeberinformationen. Dieser Wert muss mit dem Publisher im Identity-Element in Ihrem Sparsepaketmanifest übereinstimmen.
packageName Beschreibt den Inhalt des Pakets. Dieser Wert muss mit dem Name-Attribut im Identity-Element in Ihrem Sparsepaketmanifest übereinstimmen.
applicationId Der eindeutige Bezeichner der Anwendung. Dieser Wert muss mit dem ID-Attribut im Application-Element in Ihrem Sparsepaketmanifest übereinstimmen.
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="Contoso.PhotoStoreApp"/>
  <msix xmlns="urn:schemas-microsoft-com:msix.v1"
          publisher="CN=Contoso"
          packageName="ContosoPhotoStore"
          applicationId="ContosoPhotoStore"
        />
</assembly>

heapType

Überschreibt die Standardmäßige Heapimplementierung für die zu verwendenden Win32-Heap-APIs.

  • Der Wert SegmentHeap gibt an, dass der Segmentheap verwendet wird. Segment heap ist eine moderne Heapimplementierung, die im Allgemeinen die Gesamtspeicherauslastung reduziert. Dieses Element wird in Windows 10 Version 2004 (Build 19041) und höher unterstützt.
  • Alle anderen Werte werden ignoriert.

Dieses Element weist keine Attribute auf.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2020/WindowsSettings">
      <heapType>SegmentHeap</heapType>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

Beispiel

Im Folgenden finden Sie ein Beispiel für ein Anwendungsmanifest für eine Anwendung namens MySampleApp.exe. Die Anwendung verwendet die assemblyseitige SampleAssembly-Assembly.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
      <application> 
        <!--This Id value indicates the application supports Windows Vista functionality -->
          <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
        <!--This Id value indicates the application supports Windows 7 functionality-->
          <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
        <!--This Id value indicates the application supports Windows 8 functionality-->
          <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        <!--This Id value indicates the application supports Windows 8.1 functionality-->
          <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      </application> 
  </compatibility>

  <assemblyIdentity type="win32" 
                    name="myOrganization.myDivision.mySampleApp" 
                    version="6.0.0.0" 
                    processorArchitecture="x86" 
                    publicKeyToken="0000000000000000"
  />
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" 
                        name="Proseware.Research.SampleAssembly" 
                        version="6.0.0.0" 
                        processorArchitecture="X86" 
                        publicKeyToken="0000000000000000" 
                        language="*"
      />
    </dependentAssembly>
  </dependency>
</assembly>