Delen via


Toepassingsmanifesten

Een toepassingsmanifest (ook wel bekend als een side-by-side-toepassingsmanifest of een fusion manifest) is een XML-bestand dat de gedeelde en persoonlijke assembly's naast elkaar beschrijft en identificeert waarmee een toepassing tijdens de runtime verbinding moet maken. Dit moeten dezelfde assemblyversies zijn die zijn gebruikt om de toepassing te testen. Toepassingsmanifesten kunnen ook metagegevens beschrijven voor bestanden die privé zijn voor de toepassing.

Zie manifestbestandsschemavoor een volledige lijst van het XML-schema.

Toepassingsmanifesten hebben de volgende elementen en kenmerken.

Element Kenmerken Vereist
assembly- Ja
manifestVersion- Ja
noInherit- Nee
assemblyIdentity- Ja
type Ja
naam Ja
taal Nee
processorArchitecture Nee
versie Ja
publicKeyToken- Nee
compatibiliteit Nee
Nee
ondersteundeOS- Nee
id- Ja
maxversiontest Nee
id- Ja
afhankelijkheid Nee
dependentAssembly- Nee
bestand Nee
naam Ja
hashalg- Nee
hash- Nee
activatableClass Nee
naam Ja
threadingModel- Ja
activeCodePage- Nee
autoElevate- Nee
uitschakelenDe Nee
disableWindowFiltering Nee
dpiAware- Nee
dpiAwareness- Nee
gdiScaling- Nee
highResolutionScrollingAware- Nee
longPathAware- Nee
printerDriverIsolation- Nee
ultraHighResolutionScrollingAware Nee
msix- Nee
heapType- Nee
supportedArchitectures Nee
trustInfo Nee

Bestandslocatie

Indien mogelijk moet u het toepassingsmanifest insluiten als een resource in het .exe-bestand of .dllvan uw toepassing. Als u dat niet kunt doen, kunt u het manifestbestand van de toepassing in dezelfde map plaatsen als de .exe of .dll.

Zie Naast elkaar installeren van assembly'svoor meer informatie.

Bestandsnaam

Volgens de conventie moet een toepassingsmanifest dezelfde naam hebben als het uitvoerbare bestand van uw app, waarbij de .manifest-extensie eraan is toegevoegd.

Een toepassingsmanifest dat verwijst naar example.exe of example.dll moet bijvoorbeeld de volgende syntaxis van de bestandsnaam gebruiken (als resource-id 1 is, kunt u de <resource-id weglaten> segment van de syntaxis).

example.exe.<resource-id>.manifest-

example.dll.<resource-id>.manifest-

Elementen

Namen van elementen en kenmerken zijn hoofdlettergevoelig. De waarden van elementen en kenmerken zijn niet hoofdlettergevoelig, met uitzondering van de waarde van het typekenmerk.

vergadering

Een containerelement. Het eerste subelement moet een noInherit of assemblyIdentity element zijn. Vereist.

Het assembly-element moet zich in de naamruimte bevinden urn:schemas-microsoft-com:asm.v1. Onderliggende elementen van de assembly moeten zich ook in deze naamruimte bevinden, door overname of door taggen.

Het assembly-element heeft de volgende kenmerken.

Attribuut Beschrijving
manifestVersion- Het manifestVersion-kenmerk moet worden ingesteld op 1.0.

noInherit

Neem dit element op in een toepassingsmanifest om de activeringscontexten in te stellen gegenereerd op basis van het manifest met de vlag 'no inherit'. Wanneer deze vlag niet is ingesteld in een activeringscontext en de activeringscontext actief is, wordt deze overgenomen door nieuwe threads in hetzelfde proces, venster, vensterprocedures en Asynchrone procedureaanroepen. Als u deze vlag instelt, voorkomt u dat het nieuwe object de actieve context overgaat.

Het element noInherit is optioneel en wordt meestal weggelaten. De meeste assembly's werken niet correct met behulp van een activeringscontext zonder overname, omdat de assembly expliciet moet zijn ontworpen om de doorgifte van hun eigen activeringscontext te beheren. Het gebruik van het element noInherit vereist dat afhankelijke assembly's waarnaar wordt verwezen door het toepassingsmanifest een element noInherit hebben in hun assemblymanifest.

Als noInherit- wordt gebruikt in een manifest, moet dit het eerste subelement van de assembly element zijn. Het element assemblyIdentity moet direct na het element noInherit komen. Als noInherit- niet wordt gebruikt, moet assemblyIdentity- het eerste subelement van de assembly element zijn. Het element noInherit bevat geen onderliggende elementen. Het is geen geldig element in assemblymanifesten.

assemblyIdentity

Als het eerste subelement van een assembly element beschrijft assemblyIdentity de toepassing die eigenaar is van dit toepassingsmanifest. Als het eerste subelement van een dependentAssembly-element, beschrijft assemblyIdentity een side-by-side assembly die is vereist voor de toepassing. Elke assembly waarnaar in het toepassingsmanifest wordt verwezen, vereist een assemblyIdentity- die exact overeenkomt met de assemblyIdentity in het eigen assemblymanifest van de assembly waarnaar wordt verwezen.

Het element assemblyIdentity heeft de volgende kenmerken. Het heeft geen subelementen.

Attribuut Beschrijving
type Hiermee geeft u het toepassings- of assemblytype op. De waarde moet worden win32 en allemaal in kleine letters. Vereist.
naam Noem de toepassing of assembly een unieke naam. Gebruik de volgende indeling voor de naam: Organization.Division.Name. Bijvoorbeeld Microsoft.Windows.mysampleApp. Vereist.
taal Identificeert de taal van de toepassing of assembly. Als de toepassing of assembly taalspecifiek is, geeft u de DHTML-taalcode op. In de assemblyIdentity van een toepassing die is bedoeld voor wereldwijd gebruik (taalneutraal) laat u het taalkenmerk weg.
In een assemblyIdentity van een assembly die bedoeld is voor wereldwijd gebruik (taalneutraal) stelt u de waarde van de taal in op *. Facultatief.
processorArchitecture Hiermee geeft u de processor. Geldige waarden zijn onder andere x86, amd64, arm en arm64. U kunt ook *opgeven, wat ervoor zorgt dat alle platforms zijn gericht. Facultatief.
versie Hiermee geeft u de toepassings- of assemblyversie op. Gebruik de vierdelige versie-indeling: mmmmm.nnnnn.ooooo.ppppp. Elk van de onderdelen gescheiden door perioden kan 0-65535 inclusief zijn. Zie Assembly-versiesvoor meer informatie. Vereist.
publicKeyToken- Een hexadecimale tekenreeks van 16 tekens die de laatste 8 bytes van de SHA-1-hash van de openbare sleutel vertegenwoordigt waaronder de toepassing of assembly is ondertekend. De openbare sleutel die wordt gebruikt om de catalogus te ondertekenen, moet 2048 bits of hoger zijn. Vereist voor alle gedeelde assembly's naast elkaar.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 ...
<dependency>
   <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
       />
   </dependentAssembly>
</dependency>
...
</assembly>

compatibiliteit

Bevat ten minste één toepassing. Het heeft geen kenmerken. Facultatief. Toepassingsmanifesten zonder compatibiliteitselement zijn standaard compatibel met Windows Vista in Windows 7.

Het compatibiliteitselement moet zich in de naamruimte bevinden urn:schemas-microsoft-com:compatibility.v1. Onderliggende elementen van de compatibiliteit moeten zich ook in deze naamruimte bevinden, door overname of taggen.

toepassing

Bevat ten minste één ondersteund-element. Vanaf Windows 10 versie 1903 kan het ook één optionele maxversion getest element bevatten. Het heeft geen kenmerken. Facultatief.

supportedOS

Het ondersteunde-element heeft het volgende kenmerk. Het heeft geen subelementen.

Attribuut Beschrijving
id- Stel het kenmerk Id in op {e2011457-1546-43c5-a5fe-008deee3d3f0} om de toepassing uit te voeren met behulp van Vista-functionaliteit. Hierdoor kan een toepassing die is ontworpen voor Windows Vista, worden uitgevoerd op een later besturingssysteem.
Stel het kenmerk Id in op {35138b9a-5d96-4fbd-8e2d-a2440225f93a} om de toepassing uit te voeren met windows 7-functionaliteit.
Voor toepassingen die ondersteuning bieden voor de functionaliteit windows Vista, Windows 7 en Windows 8 zijn geen afzonderlijke manifesten vereist. In dit geval voegt u de GUID's toe voor alle Windows-besturingssystemen.
Zie het windows 8- en Windows Server 2012-compatibiliteits cookbookvoor informatie over het gedrag van de id kenmerk in Windows.
De volgende GUID's komen overeen met de aangegeven besturingssystemen:
{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} -> Windows 10, Windows 11, Windows Server 2016, Windows Server 2019 en Windows Server 2022
{1f676c76-80e1-4239-95bb-83d0f6d0da78} -> Windows 8.1 en Windows Server 2012 R2
{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} -> Windows 8 en Windows Server 2012
{35138b9a-5d96-4fbd-8e2d-a2440225f93a} -> Windows 7 en Windows Server 2008 R2
{e2011457-1546-43c5-a5fe-008deee3d3f0} -> Windows Vista en Windows Server 2008
U kunt dit testen in Windows 7 of Windows 8.x door Resource Monitor (resmon) uit te voeren, naar het CPU-tabblad te gaan, met de rechtermuisknop op de kolomlabels te klikken, 'Kolom selecteren...' en 'Context van besturingssysteem' te controleren. In Windows 8.x kunt u deze kolom ook vinden die beschikbaar is in Taakbeheer (taskmgr). De inhoud van de kolom toont de hoogste waarde die is gevonden of 'Windows Vista' als standaardwaarde.

maxversion getest

De maxversion getest element geeft de versies van Windows op die de toepassing is getest met de minimale versie van het besturingssysteem die de toepassing ondersteunt tot de maximale versie. De volledige set versies vindt u hier . Dit is bedoeld voor desktoptoepassingen die gebruikmaken van XAML-eilanden en die niet zijn geïmplementeerd in een MSIX-pakket. Dit element wordt ondersteund in Windows 10, versie 1903 en latere versies.

Het maxversiontest element heeft het volgende kenmerk. Het heeft geen subelementen.

Attribuut Beschrijving
id- Stel het id-kenmerk in op een 4-delige versietekenreeks waarmee de maximale versie van Windows wordt opgegeven waarop de toepassing is getest. Bijvoorbeeld 10.0.18362.1 voor Windows 10, versie 1903. Vereist.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
...
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>
            <!-- Windows 10, version 1903 -->
            <maxversiontested Id="10.0.18362.1"/>
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
        </application>
    </compatibility>
...
</assembly>

afhankelijkheid

Bevat ten minste één dependentAssembly-. Het heeft geen kenmerken. Facultatief.

afhankelijkeassembly

Het eerste subelement van dependentAssembly- moet een assemblyIdentity element zijn dat een side-by-side assembly beschrijft die door de toepassing is vereist. Elke afhankelijkeAssembly- moet zich binnen precies één afhankelijkheid. Het heeft geen kenmerken.

bestand

Hiermee geeft u bestanden op die privé zijn voor de toepassing. Facultatief.

Het bestand element bevat de kenmerken die worden weergegeven in de volgende tabel.

Attribuut Beschrijving
naam Naam van het bestand. Bijvoorbeeld Comctl32.dll. Vereist.
hashalg- Algoritme dat wordt gebruikt om een hash van het bestand te maken. Deze waarde moet SHA1 zijn. Facultatief.
hash- Een hash van het bestand waarnaar wordt verwezen op naam. Een hexadecimale tekenreeks van lengte, afhankelijk van het hash-algoritme. Facultatief.

activatableClass

Hiermee kunnen niet-verpakte bureaublad-apps gebruikmaken van door de gebruiker gedefinieerde Windows Runtime-onderdelen (WinRT). Dit element wordt ondersteund in Windows 10, versie 1903 en latere versies. Zie dit artikelvoor meer informatie.

Het element activatableClass moet zich in de naamruimte bevinden urn:schemas-microsoft-com:winrt.v1.

Het element activatableClass heeft de volgende kenmerken.

Attribuut Beschrijving
naam Hiermee geeft u de klasse-id voor de activerende klasse. Vereist.
threadingModel- Vertegenwoordigt het threadingmodel van het appartement dat moet worden gebruikt voor het activeren van een in-process server. Geldige waarden zijn both, STAof MTA. Zie dit artikel voor meer informatie. Vereist.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
...
<file name="WinRTComponent.dll">
    <activatableClass
        name="WinRTComponent.MessageHolder"
        threadingModel="both"
        xmlns="urn:schemas-microsoft-com:winrt.v1"
     />
</file>
...
</assembly>

activeCodePage

In Windows 10 dwingt dit element een proces af om UTF-8 te gebruiken als de pagina met procescode. Zie De UTF-8-codepagina gebruikenvoor meer informatie. In Windows 10 is de enige geldige waarde voor activeCodePage-UTF-8.

Vanaf Windows 11 kunt u met dit element ook de verouderde niet-UTF-8-codepagina of codepagina's selecteren voor een specifieke landinstelling voor compatibiliteit met verouderde toepassingen. Moderne toepassingen worden sterk aangemoedigd om Unicode te gebruiken. In Windows 11 kan activeCodePage- ook worden ingesteld op de waarde verouderde of een landinstellingsnaam, zoals en-US of ja-JP.

  • Op computers die zijn geconfigureerd voor een actieve codepagina van het UTF-8-systeem, wordt verouderde het proces teruggezet naar de pagina's met landinstellingen van het systeem. Als de landinstelling van het systeem geen gedefinieerde codepagina's heeft, wordt Windows-1252/437 gebruikt. De instelling verouderde codepagina wordt alleen ondersteund in Fusion-manifesten en alleen vanaf Windows 11.
  • Wanneer een landinstellingsnaam zoals en-US wordt opgegeven, wordt de procescodepagina op de juiste manier ingesteld voor die landinstellingscodepagina. Bijvoorbeeld Windows-1252 en 437 voor en-USof 932 voor ja-JP.

Dit element is voor het eerst toegevoegd in Windows 10 versie 1903 (update van mei 2019). U kunt deze eigenschap en het doel/de uitvoering op eerdere Windows-builds declareren, maar u moet de detectie en conversie van verouderde codepagina's op de gebruikelijke manier afhandelen. Dit element heeft geen kenmerken.

In het volgende voorbeeld ziet u hoe u dit element gebruikt om het huidige proces af te dwingen UTF-8 te gebruiken als de pagina met procescode.

<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

Hiermee geeft u op of automatisch verhogen is ingeschakeld. TRUE geeft aan dat deze is ingeschakeld. Het heeft geen kenmerken. Het uitvoerbare bestand moet digitaal zijn ondertekend door Windows Publisher. Voor intern gebruik.

disableTheming

Hiermee geeft u op of het geven van UI-elementen een thema is uitgeschakeld. TRUE geeft aan dat deze is uitgeschakeld. Het heeft geen kenmerken.

disableWindowFiltering

Hiermee geeft u op of het filteren van vensters moet worden uitgeschakeld. TRUE het filteren van vensters uitschakelt, zodat u insluitende vensters kunt inventariseren vanaf het bureaublad. disableWindowFiltering is toegevoegd in Windows 8 en heeft geen kenmerken.

<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

Hiermee geeft u op of het huidige proces dots per inch (dpi) is.

Windows 10, versie 1607: Het element dpiAware wordt genegeerd als het element dpiAwareness aanwezig is. U kunt beide elementen in een manifest opnemen als u een ander gedrag wilt opgeven voor Windows 10, versie 1607 dan voor een eerdere versie van het besturingssysteem.

In de volgende tabel wordt het gedrag beschreven dat resulteert op basis van de aanwezigheid van het dpiAware-element element en de tekst die het bevat. De tekst in het element is niet hoofdlettergevoelig.

Status van het dpiAware-element Beschrijving
Afwezig Het huidige proces is dpi niet standaard niet bekend. U kunt deze instelling programmatisch wijzigen door de functie SetProcessDpiAwareness of SetProcessDPIAware aan te roepen.
Bevat 'true' Het huidige proces is systeem dpi-bewust.
Bevat 'false' Windows Vista, Windows 7 en Windows 8: Het gedrag is hetzelfde als wanneer de dpiAware- afwezig is.
Windows 8.1 en Windows 10: Het huidige proces is dpi onbekend en u kunt deze instelling niet programmatisch wijzigen door de functie SetProcessDpiAwareness of SetProcessDPIAware aan te roepen.
Bevat 'true/pm' Windows Vista, Windows 7 en Windows 8: Het huidige proces is systeem dpi-bewust.
Windows 8.1 en Windows 10: Het huidige proces is per monitor dpi-bewust.
Bevat 'per monitor' Windows Vista, Windows 7 en Windows 8: Het gedrag is hetzelfde als wanneer de dpiAware- afwezig is.
Windows 8.1 en Windows 10: Het huidige proces is per monitor dpi-bewust.
Bevat een andere tekenreeks Windows Vista, Windows 7 en Windows 8: Het gedrag is hetzelfde als wanneer de dpiAware- afwezig is.
Windows 8.1 en Windows 10: Het huidige proces is dpi onbekend en u kunt deze instelling niet programmatisch wijzigen door de functie SetProcessDpiAwareness of SetProcessDPIAware aan te roepen.

Zie High DPI Desktop Application Development in Windowsvoor meer informatie over dpi-bewustzijnsinstellingen.

dpiAware- heeft geen kenmerken.

<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

Hiermee geeft u op of het huidige proces dots per inch (dpi) is.

De minimale versie van het besturingssysteem dat ondersteuning biedt voor het element dpiAwareness is Windows 10, versie 1607. Voor versies die ondersteuning bieden voor het element dpiAwareness, overschrijft de dpiAwareness het element dpiAware. U kunt beide elementen in een manifest opnemen als u een ander gedrag wilt opgeven voor Windows 10, versie 1607 dan voor een eerdere versie van het besturingssysteem.

Het element dpiAwareness kan één item of een lijst met door komma's gescheiden items bevatten. In het laatste geval wordt het eerste (meest linkse) item in de lijst gebruikt dat wordt herkend door het besturingssysteem. Op deze manier kunt u verschillende gedragingen opgeven die worden ondersteund in toekomstige versies van het Windows-besturingssysteem.

In de volgende tabel wordt het gedrag beschreven dat resulteert op basis van de aanwezigheid van het dpiAwareness element en de tekst die het bevat in het meest links herkende item. De tekst in het element is niet hoofdlettergevoelig.

dpiAwareness elementstatus: Beschrijving
Element is afwezig Het element dpiAware geeft aan of het proces dpi-bewust is.
Bevat geen herkende items Het huidige proces is dpi niet standaard niet bekend. U kunt deze instelling programmatisch wijzigen door de functie SetProcessDpiAwareness of SetProcessDPIAware aan te roepen.
Het eerste herkende item is 'systeem' Het huidige proces is systeem dpi-bewust.
Het eerste herkende item is 'permonitor' Het huidige proces is per monitor dpi-bewust.
Het eerste herkende item is 'permonitorv2' Het huidige proces maakt gebruik van de context per monitor-v2 dpi-bewustzijn. Dit item wordt alleen herkend in Windows 10 versie 1703 of hoger.
Het eerste herkende item is 'niet bekend' Het huidige proces is dpi niet bekend. U kunt deze instelling niet programmatisch wijzigen door de functie SetProcessDpiAwareness of SetProcessDPIAware aan te roepen.

Zie DPI_AWARENESS en DPI_AWARENESS_CONTEXTvoor meer informatie over dpi-bewustzijnsinstellingen die door dit element worden ondersteund.

dpiAwareness heeft geen kenmerken.

<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

Hiermee geeft u op of GDI-schaalaanpassing is ingeschakeld. De minimale versie van het besturingssysteem dat ondersteuning biedt voor het element gdiScaling is Windows 10 versie 1703.

Het GDI-framework (Graphics Device Interface) kan DPI-schaalaanpassing toepassen op primitieven en tekst per monitor zonder dat de toepassing zelf wordt bijgewerkt. Dit kan handig zijn voor GDI-toepassingen die niet langer actief worden bijgewerkt.

Niet-vectorafbeeldingen (zoals bitmaps, pictogrammen of werkbalken) kunnen niet worden geschaald door dit element. Bovendien kunnen afbeeldingen en tekst die in bitmaps dynamisch worden gemaakt door toepassingen, niet worden geschaald door dit element. Zie De hoge DPI-ervaring verbeteren in desktop-apps op basis van GDIvoor meer informatie.

U kunt deze instelling programmatisch wijzigen door de functie SetThreadDpiAwarenessContext of SetProcessDpiAwarenessContext functie aan te roepen met DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED waarde.

TRUE- geeft aan dat dit element is ingeschakeld. Het heeft geen kenmerken.

<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

Hiermee geeft u op of scrollen met hoge resolutie is ingeschakeld. TRUE geeft aan dat deze is ingeschakeld. Het heeft geen kenmerken.

longPathAware

Hiermee kunt u lange paden inschakelen die langer zijn dan MAX_PATH. Dit element wordt ondersteund in Windows 10, versie 1607 en hoger. Zie dit artikelvoor meer informatie.

<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

Hiermee geeft u op of isolatie van printerstuurprogramma's is ingeschakeld. TRUE geeft aan dat deze is ingeschakeld. Het heeft geen kenmerken. Isolatie van printerstuurprogramma's verbetert de betrouwbaarheid van de Windows-afdrukservice doordat printerstuurprogramma's kunnen worden uitgevoerd in processen die los staan van het proces waarin de afdrukspooler wordt uitgevoerd. Ondersteuning voor isolatie van printerstuurprogramma's is gestart in Windows 7 en Windows Server 2008 R2. Een app kan isolatie van printerstuurprogramma's in het app-manifest declareren om zichzelf te isoleren van het printerstuurprogramma en de betrouwbaarheid ervan te verbeteren. Dat wil gezegd, de app loopt niet vast als het printerstuurprogramma een fout heeft.

<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

Hiermee geeft u op of ultra-high-resolution-scrolling aware is ingeschakeld. TRUE geeft aan dat deze is ingeschakeld. Het heeft geen kenmerken.

msix

Hiermee geeft u de identiteitsgegevens van een pakket met externe locatie voor de huidige toepassing op (zie Pakketidentiteit verlenen door te verpakken met externe locatie). Dit element wordt ondersteund in Windows 10, versie 2004 en nieuwere versies.

Het msix--element moet zich in de naamruimte bevinden urn:schemas-microsoft-com:msix.v1. Deze bevat de kenmerken die worden weergegeven in de volgende tabel.

Attribuut Beschrijving
publisher- Beschrijft de informatie van de uitgever. Deze waarde moet overeenkomen met het kenmerk Publisher in het element Identity in het pakketmanifest van uw verpakte app met externe locatie.
packageName- Beschrijft de inhoud van het pakket. Deze waarde moet overeenkomen met het kenmerk Name in het element Identity in het pakketmanifest van uw verpakte app met externe locatie.
applicationId De unieke id van de toepassing. Deze waarde moet overeenkomen met het kenmerk Id in het element Application in het pakketmanifest van uw verpakte app met externe locatie.
<?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

Overschrijft de standaard heap-implementatie voor de Win32-heap-API's te gebruiken.

  • De waarde SegmentHeap geeft aan dat segment heap wordt gebruikt. Segment heap is een moderne heap-implementatie die over het algemeen uw algehele geheugengebruik vermindert. Dit element wordt ondersteund in Windows 10, versie 2004 (build 19041) en hoger.
  • Alle andere waarden worden genegeerd.

Dit element heeft geen kenmerken.

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

supportedArchitectures

Voor uitvoerbare bestanden van IL-only .NET Framework geeft u een lijst op met systeemeigen processorarchitecturen waarmee de toepassing compatibel is. Kan een of meer van de volgende waarden bevatten, gescheiden door spaties:

  • amd64-
  • arm64-

Dit element heeft geen kenmerken.

Dit element wordt ondersteund in Windows 11, versie 24H2 en hoger.

<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/2024/WindowsSettings">
      <supportedArchitectures>amd64 arm64</supportedArchitectures>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

trustInfo

Aan alle UAC-compatibele apps moet een aangevraagd uitvoeringsniveau zijn toegevoegd aan het toepassingsmanifest. Aangevraagde uitvoeringsniveaus geven de vereiste bevoegdheden voor een app op. Zie How User Account Control (UAC) van invloed is op uw toepassingvoor meer informatie.

Het aangevraagde uitvoeringsniveau wordt opgegeven met het niveau kenmerk van het requestedExecutionLevel afstamming van het element trustInfo. Toegestane waarden voor niveau zijn:

Waarde Beschrijving
asInvoker- De toepassing wordt uitgevoerd op hetzelfde machtigingsniveau als het proces waarmee het is gestart. U kunt de toepassing uitbreiden naar een hoger machtigingsniveau door Als administrator uitvoerente selecteren.
vereisenAdministrator- De toepassing wordt uitgevoerd met beheerdersmachtigingen. De gebruiker die de toepassing start, moet lid zijn van de groep Administrators. Als het openingsproces niet wordt uitgevoerd met beheerdersmachtigingen, wordt in het systeem om referenties gevraagd.
highestAvailable De toepassing wordt uitgevoerd op het hoogste machtigingsniveau dat het kan. Als de gebruiker die de toepassing start lid is van de groep Administrators, is deze optie hetzelfde als level="requireAdministrator". Als het hoogst beschikbare machtigingsniveau hoger is dan het niveau van het openingsproces, vraagt het systeem om referenties.

Als u het niveau instelt op highestAvailable zorgt u ervoor dat de toepassing wordt uitgevoerd met zowel gebruikers die lid zijn van de groep Administrators als gebruikers die niet zijn. Als de toepassing alleen kan functioneren met beheerderstoegang tot het systeem, markeert u de app met een aangevraagd uitvoeringsniveau van requireAdministrator zorgt ervoor dat het systeem dit programma identificeert als een beheer-app en de benodigde benodigde stappen uitvoert.

De Visual C++-linker sluit standaard een UAC-fragment in het manifest van een toepassing in met een uitvoeringsniveau van asInvoker.

Het element requestedExecutionLevel heeft ook een optioneel kenmerk uiAccess-. Stel deze waarde in op true als u wilt dat de toepassing de beveiligingsniveaus van de gebruikersinterface omzeilt en invoer naar vensters met hogere machtigingen op het bureaublad wilt overslaan. Stel dit kenmerk in op true alleen voor toegankelijkheidstoepassingen voor gebruikersinterfaces. Standaard ingesteld op false. Aanvullende beperkingen van beveiligingsbeleidsinstellingen kunnen worden toegepast. Zie Gebruikersaccountbeheer: Alleen UIAccess-toepassingen uitbreiden die zijn geïnstalleerd op beveiligde locaties. Zie Beveiligingsoverwegingen voor ondersteunende technologieënvoor meer informatie.

Als u requestedExecutionLevel knooppunt opgeeft, worden bestands- en registervirtualisatie uitgeschakeld. Als u bestands- en registervirtualisatie wilt gebruiken voor achterwaartse compatibiliteit, laat u de requestedExecutionLevel knooppunt weg.

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  <security>
    <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
      <requestedExecutionLevel level="asInvoker" uiAccess="false" />
    </requestedPrivileges>
  </security>
</trustInfo>

Voorbeeld

Hier volgt een voorbeeld van een toepassingsmanifest voor een toepassing met de naam MySampleApp.exe. De toepassing gebruikt de SampleAssembly-assembly naast elkaar.

<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity type="win32" name="MyOrganization.MyDivision.MySampleApp" version="6.0.0.0" processorArchitecture="*" />
   <dependency>
      <dependentAssembly>
         <assemblyIdentity type="win32" name="Proseware.Research.SampleAssembly" version="6.0.0.0" processorArchitecture="*" publicKeyToken="0000000000000000" />
      </dependentAssembly>
   </dependency>
   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
      <application>
         <!-- Windows 10 and Windows 11 -->
         <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
         <!-- Windows 8.1 -->
         <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
         <!-- Windows 8 -->
         <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
         <!-- Windows 7 -->
         <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
         <!-- Windows Vista -->
         <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
      </application>
   </compatibility>
</assembly>