Anwendungsmanifeste

Ein Anwendungsmanifest (auch als paralleles Anwendungsmanifest oder fusionsmanifest bezeichnet) ist eine XML-Datei, die die freigegebenen und privaten parallelen Assemblys beschreibt und identifiziert, an die eine Anwendung zur Laufzeit gebunden werden soll. Dabei sollte es sich um die gleichen Assemblyversionen handeln, die zum Testen der Anwendung verwendet wurden. Anwendungsmanifeste beschreiben möglicherweise auch Metadaten für Dateien, die für die Anwendung privat sind.

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

Anwendungsmanifeste weisen die folgenden Elemente und Attribute auf.

Element Attribute Erforderlich
Versammlung Ja
manifestVersion Ja
noInherit Nein
Assemblyidentity Ja
type Ja
name Ja
language Nein
Processorarchitecture Nein
version Ja
Publickeytoken Nein
compatibility Nein
Anwendung Nein
supportedOS Id Nein
maxversiontested Id Nein
Abhängigkeit Nein
Dependentassembly Nein
Datei 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

Wenn möglich, sollten Sie das Anwendungsmanifest als Ressource in die Datei Ihrer Anwendung oder .dllin die Datei der Anwendung .exe einbetten. Wenn Sie dies nicht tun können, können Sie die Anwendungsmanifestdatei im selben Verzeichnis wie das oder .dll..exe

Weitere Informationen finden Sie unter Installieren von parallelen Assemblys.

Dateiname

In der Konvention sollte ein Anwendungsmanifest denselben Namen wie die ausführbare Datei Ihrer App haben, wobei die .manifest an sie angefügte Erweiterung angefügt wurde.

Ein Anwendungsmanifest, das sich auf die folgende Dateinamensyntax bezieht example.exe oder example.dll verwenden soll (wenn die Ressourcen-ID 1 ist, können Sie das <Ressourcen-ID-Segment> der Syntax weglassen).

example.exe.<Ressourcen-ID>. Manifest

example.dll.<Ressourcen-ID>. Manifest

Elemente

Namen von Elementen und Attributen sind groß- und kleinschreibungsempfindlich. Die Werte von Elementen und Attributen sind mit Ausnahme des Werts des Typattributes groß- und kleingeschrieben.

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.v1befinden. Untergeordnete Elemente der Assembly müssen sich auch in diesem Namespace befinden, indem sie vererbt oder durch Tagging gekennzeichnet werden.

Das Assemblyelement weist die folgenden Attribute auf.

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

noInherit

Fügen Sie dieses Element in ein Anwendungsmanifest ein, um die aktivierungskontexte festzulegen, die aus dem Manifest mit dem Flag "no inherit" generiert wurden. Wenn dieses Kennzeichen nicht im Aktivierungskontext festgelegt ist und der Aktivierungskontext aktiv ist, wird es von neuen Threads im gleichen Prozess, Fenstern, Fensterprozeduren und asynchronen Prozeduraufrufen geerbt. Durch Festlegen dieses Flags wird verhindert, dass das neue Objekt den aktiven Kontext erbt.

Das noInherit-Element ist optional und wird in der Regel nicht angegeben. Die meisten Assemblys funktionieren nicht ordnungsgemäß mit einem Aktivierungskontext ohne Erbe, da die Assembly explizit für die Verwaltung der Verteilung ihres eigenen Aktivierungskontexts konzipiert sein muss. Die Verwendung des noInherit-Elements erfordert, dass alle abhängigen Assemblys, auf die vom Anwendungsmanifest verwiesen wird, ein noInherit-Element in ihrem Assemblymanifest aufweisen.

Wenn noInherit in einem Manifest verwendet wird, muss es sich um das erste Unterelement des Assemblyelements handeln. Das assemblyIdentity-Element sollte unmittelbar nach dem noInherit-Element kommen. 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 abhängigenAssembly-Elements beschreibt assemblyIdentity eine querseitige Assembly, die von der Anwendung benötigt wird. Beachten Sie, dass jede Assembly, auf die im Anwendungsmanifest verwiesen wird, eine AssemblyIdentity erfordert, die genau mit der assemblyIdentity im eigenen Assemblymanifest der referenzierten Assembly übereinstimmt.

Das assemblyIdentity-Element weist die folgenden Attribute auf. Es weist keine Unterelemente auf.

attribute BESCHREIBUNG
type Gibt den Anwendungs- oder Assemblytyp an. Der Wert muss Win32 und alle in Kleinschreibung 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 (sprachneutral) vorgesehen ist, wird das Sprachattribute weggelassen.
In einer assemblyIdentity einer Assembly, die für die weltweite Verwendung (sprachneutral) vorgesehen ist, legen Sie 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.nn.ooooo.ppppp. Jede der Teile, die durch Zeiträume getrennt sind, kann 0-65535 inklusive 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 2048 Bit oder höher sein. Erforderlich für alle gemeinsam genutzten parallelen Assemblys.

Kompatibilität

Enthält mindestens eine Anwendung. Es hat keine Attribute. Optional. Anwendungsmanifeste ohne Kompatibilitätselement standardmäßig auf Windows Vista-Kompatibilität unter Windows 7.

application

Enthält mindestens ein unterstütztesOS-Element . Ab Windows 10, Version 1903, kann es auch ein optionales maxversiontested-Element enthalten. Es hat keine Attribute. Optional.

supportedOS

Das supportedOS-Element weist das folgende Attribut auf. Es weist keine Unterelemente auf.

attribute Beschreibung
Id Legen Sie das ID-Attribut auf {e2011457-1546-43c5-a5fe-008dee3d3f0} fest, um die Anwendung mithilfe von Vista-Funktionen auszuführen. Dies kann eine Anwendung aktivieren, die für Windows Vista entwickelt wurde, um auf einem späteren Betriebssystem auszuführen.
Legen Sie das ID-Attribut auf {35138b9a-5d96-4fbd-8e2d-a2440225f93a} fest, um die Anwendung mithilfe der Windows 7-Funktionalität auszuführen.
Anwendungen, die Windows Vista, Windows 7 und Windows 8 Funktionalität unterstützen, erfordern keine separaten Manifeste. Fügen Sie in diesem Fall die GUIDs für alle Windows-Betriebssysteme hinzu.
Informationen zum Id-Attributverhalten 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 unter Windows 7 oder Windows 8.x testen, indem Sie den Ressourcenmonitor (Resmon) ausführen, zur CPU-Registerkarte wechseln, mit der rechten Maustaste auf die Spaltenbeschriftungen klicken, "Spalte auswählen...", und aktivieren Sie "Betriebssystemkontext". Auf Windows 8.x finden Sie diese Spalte auch im Task-Manager (Taskmgr). Der Inhalt der Spalte zeigt den höchsten Wert, der als Standard gefunden wurde, oder "Windows Vista".

maxversiontested

Das maxversiontested-Element gibt die Versionen von Windows an, auf die die Anwendung getestet wurde, um mit der Mindestbetriebssystemversion zu beginnen, die die Anwendung bis zur maximalen Version unterstützt. Die vollständigen Versionen finden Sie hier. Dies soll von Desktopanwendungen verwendet werden, die XAML-Inseln verwenden und nicht in einem MSIX-Paket bereitgestellt werden. Dieses Element wird in Windows 10, Version 1903 und späteren Versionen unterstützt.

Das maxversiontested-Element weist das folgende Attribut auf. Es weist keine Unterelemente auf.

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

dependency

Enthält mindestens eine abhängigeAssembly. Es hat keine Attribute. Optional.

dependentAssembly

Das erste Unterelement von abhängigAssembly muss ein assemblyIdentity-Element sein, das eine von der Anwendung erforderliche parallele Assembly beschreibt. Jede abhängigeAssembly muss sich innerhalb genau einer Abhängigkeit befinden. Es hat keine Attribute.

file

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

Das Dateielement weist die Attribute auf, die in der folgenden Tabelle angezeigt werden.

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 nach Namen verwiesen wird. Eine hexadezimale Längenzeichenfolge abhängig vom Hashalgorithmus.

activeCodePage

Bei Windows 10 erzwingt dieses Element einen Prozess, UTF-8 als Prozesscodeseite zu verwenden. Weitere Informationen finden Sie auf der UTF-8-Codeseite. Bei Windows 10 ist der einzige gültige Wert für activeCodePageUTF-8.

Ab Windows 11 ermöglicht dieses Element auch die Auswahl der älteren Nicht-UTF-8-Codeseite oder Codeseiten für ein bestimmtes Gebietsschema für die Legacyanwendungskompatibilität. Moderne Anwendungen werden dringend empfohlen, Unicode zu verwenden. Bei Windows 11 kann activeCodePage auch auf den Wert Legacy oder einen Gebietsschemanamen wie en-US oder ja-JP festgelegt werden.

  • Auf Computern, die auf einer aktiven UTF-8-Systemcodeseite konfiguriert sind, wird legacy den Prozess auf die Systemgebietsschemacodeseiten zurücksetzen. Wenn das Systemgebietsschema keine Codeseiten definiert hat, 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 Prozesscodeseite für diese Gebietsschemacodeseite entsprechend festgelegt. Beispielsweise Windows-1252 und 437 für en-US oder 932 für ja-JP.

Dieses Element wurde zuerst in Windows 10 Version 1903 hinzugefügt (Update vom Mai 2019). Sie können diese Eigenschaft und diese Ziel-/Ausführung auf früheren Windows-Builds deklarieren, 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 den aktuellen Prozess zu erzwingen, UTF-8 als Prozesscodeseite zu verwenden.

<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 aktiviert ist. TRUE gibt an, dass sie aktiviert ist. Es hat keine Attribute. Die ausführbare Datei muss digital von Windows Publisher signiert werden. Für die interne Verwendung.

disableTheming

Gibt an, ob benutzeroberflächenelemente deaktiviert sind. TRUE gibt deaktiviert an. Es hat keine Attribute.

disableWindowFiltering

Gibt an, ob die Fensterfilterung deaktiviert werden soll. TRUE deaktiviert die Fensterfilterung, sodass Sie immersive Fenster aus 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 Punkte pro Zoll (dpi) ist.

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 auf der Grundlage der Anwesenheit des dpiAware-Elements und des darin enthaltenen Texts resultiert. Der Text innerhalb des Elements ist nicht groß- und kleinschreibungsempfindlich.

Status des dpiAware-Elements Beschreibung
„Absent“ Der aktuelle Prozess ist standardmäßig nicht bekannt. Sie können diese Einstellung programmgesteuert ändern, indem Sie die SetProcessDpiAwareness - oder SetProcessDPIAware-Funktion aufrufen.
Enthält "true" Der aktuelle Prozess ist system dpi-fähig.
Enthält "false" Windows Vista, Windows 7 und Windows 8: Das Verhalten entspricht dem, wenn die dpiAware nicht vorhanden ist.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist dpi nicht bekannt, und Sie können diese Einstellung nicht programmgesteuert ändern, indem Sie die SetProcessDpiAwareness- oder SetProcessDPIAware-Funktion aufrufen.
Enthält "true/pm" Windows Vista, Windows 7 und Windows 8: Der aktuelle Prozess ist system dpi-fähig.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist pro Monitor dpi-fähig.
Enthält "pro Monitor" Windows Vista, Windows 7 und Windows 8: Das Verhalten entspricht dem, wenn die dpiAware nicht vorhanden ist.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist pro Monitor dpi-fähig.
Enthält eine beliebige andere Zeichenfolge Windows Vista, Windows 7 und Windows 8: Das Verhalten entspricht dem, wenn die dpiAware nicht vorhanden ist.
Windows 8.1 und Windows 10: Der aktuelle Prozess ist dpi nicht bekannt, und Sie können diese Einstellung nicht programmgesteuert ändern, indem Sie die SetProcessDpiAwareness- oder SetProcessDPIAware-Funktion aufrufen.

Weitere Informationen zu dpi-Sensibilisierungseinstellungen finden Sie unter Vergleich der DPI-Sensibilisierungsstufen.

dpiAware hat 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 Punkte pro Zoll (dpi) ist.

Die Mindestversion des Betriebssystems, das das dpiAwareness-Element unterstützt, ist Windows 10, Version 1607. Bei Versionen, die das dpiAwareness-Element unterstützen, überschreibt die 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 mit durch Kommas getrennten Elementen enthalten. Im letzteren Fall wird das erste (linksste) Element in der Liste verwendet, die vom Betriebssystem erkannt wird. Auf diese Weise können Sie verschiedene Verhaltensweisen angeben, die in zukünftigen Windows-Betriebssystemversionen unterstützt werden.

In der folgenden Tabelle wird das Verhalten beschrieben, das auf der Grundlage des Vorhandenseins des dpiAwareness-Elements und des Texts, den er in seinem linkssten erkannten Element enthält, erzielt wird. Der Text innerhalb des Elements ist nicht groß- und kleinschreibungsempfindlich.

dpiAwareness-Elementstatus : Beschreibung
Das Element ist nicht vorhanden. Das dpiAware-Element gibt an, ob der Prozess dpi-wert ist.
Enthält keine erkannten Elemente Der aktuelle Prozess ist standardmäßig nicht bekannt. Sie können diese Einstellung programmgesteuert ändern, indem Sie die SetProcessDpiAwareness - oder SetProcessDPIAware-Funktion aufrufen.
Das erste erkannte Element ist "System" Der aktuelle Prozess ist system dpi-fähig.
Das erste erkannte Element ist "permonitor" Der aktuelle Prozess ist pro Monitor dpi-fähig.
Das erste erkannte Element ist "permonitorv2" Der aktuelle Prozess verwendet den Kontext pro Monitor-v2 dpi-Sensibilisierung. Dieses Element wird nur für Windows 10 Version 1703 oder höher erkannt.
Das erste erkannte Element ist "Unwissen" Der aktuelle Prozess ist dpi nicht bekannt. Siekönnen diese Einstellung nicht programmgesteuert ändern, indem Sie die SetProcessDpiAwareness - oder SetProcessDPIAware-Funktion aufrufen.

Weitere Informationen zu dpi-Sensibilisierungseinstellungen, die von diesem Element unterstützt werden, finden Sie unter DPI_AWARENESS und DPI_AWARENESS_CONTEXT.

dpiAwareness hat 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 die 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 die DPI-Skalierung auf Grundtypen und Text pro Monitor anwenden, ohne die Anwendung selbst zu aktualisieren. Dies kann für GDI-Anwendungen hilfreich sein, die nicht mehr aktiv aktualisiert werden.

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

TRUE gibt an, dass dieses Element aktiviert ist. Es hat 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 die Berücksichtigung von Bildlauf mit hoher Auflösung aktiviert ist. TRUE gibt an, dass sie aktiviert ist. Es hat keine Attribute.

longPathAware

Aktiviert lange Pfade, die MAX_PATH länge ü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 sie aktiviert ist. Es hat keine Attribute. Die Druckertreiberisolation verbessert die Zuverlässigkeit des Windows-Druckdiensts, indem Druckertreiber in Prozessen ausgeführt werden können, die von dem Prozess getrennt sind, in dem der Druckpooler ausgeführt wird. Unterstützung für die Druckertreiberisolation wurde in Windows 7 und Windows Server 2008 R2 gestartet. Eine App kann die Druckertreiberisolation im App-Manifest deklarieren, um sich vom Druckertreiber zu isolieren und seine 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 die Berücksichtigung des Bildlaufs mit hoher Auflösung aktiviert ist. TRUE gibt an, dass sie aktiviert ist. Es hat keine Attribute.

MSIX

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

Das msix-Element muss sich im Namespace urn:schemas-microsoft-com:msix.v1befinden. Es weist die Attribute auf, die in der folgenden Tabelle angezeigt werden.

attribute Beschreibung
publisher Beschreibt die Herausgeberinformationen. Dieser Wert muss mit dem Publisher-Attribut im Identity-Element im Sparse-Paketmanifest übereinstimmen.
packageName Beschreibt den Inhalt des Pakets. Dieser Wert muss mit dem Name-Attribut im Identity-Element in Ihrem sparse Paketmanifest übereinstimmen.
applicationId Der eindeutige Bezeichner der Anwendung. Dieser Wert muss mit dem ID-Attribut im Application-Element im Sparse-Paketmanifest ü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 Segment-Heap 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

Nachfolgend sehen Sie ein Beispiel für ein Anwendungsmanifest für eine Anwendung mit dem Namen MySampleApp.exe. Die Anwendung verwendet die SampleAssembly-Assembly nebeneinander.

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