Sdílet prostřednictvím


Manifesty aplikace

Manifest aplikace (označovaný také jako manifest souběžné aplikace nebo fúzní manifest) je soubor XML, který popisuje a identifikuje sdílená a soukromá souběžná sestavení, se kterými by se měla aplikace za běhu svázat. Měly by se jednat o stejné verze sestavení, které byly použity k otestování aplikace. Manifesty aplikací můžou také popisovat metadata pro soubory, které jsou pro aplikaci soukromé.

Úplný seznam schématu XML naleznete v tématu schéma souboru manifestu.

Manifesty aplikace mají následující prvky a atributy.

Element Atributy Požadovaný
sestavení Ano
manifestVersion Ano
noInherit Ne
assemblyIdentity Ano
typ Ano
název Ano
jazyka Ne
processorArchitecture Ne
verze Ano
publicKeyToken Ne
kompatibility Ne
aplikace Ne
podporovaných OS Ne
id Ano
maxversiontested Ne
id Ano
závislostí Ne
dependentAssembly Ne
souboru Ne
název Ano
hashalg Ne
hash Ne
aktivovatelné třídy Ne
název Ano
threadingModel Ano
activeCodePage Ne
automatické Ne
zakázattheming Ne
zakázat WindowFiltering Ne
dpiAware Ne
dpiAwareness Ne
gdiScaling Ne
highResolutionScrollingAware Ne
longPathAware Ne
tiskárnyDriverIsolation Ne
ultraHighResolutionScrollingAware Ne
msix Ne
typu haldy Ne
podporovaných architectures Ne
trustInfo Ne

Umístění souboru

Pokud je to možné, měli byste manifest aplikace vložit jako prostředek do souboru .exe vaší aplikace nebo .dll. Pokud to nemůžete udělat, můžete soubor manifestu aplikace umístit do stejného adresáře jako .exe nebo .dll.

Další informace naleznete v tématu Instalace souběžných sestavení.

Název souboru

Manifest aplikace by měl mít podle konvence stejný název jako spustitelný soubor vaší aplikace s příponou .manifest připojenou k ní.

Například manifest aplikace, který odkazuje na example.exe nebo example.dll by měl použít následující syntaxi názvu souboru (pokud ID prostředku je 1, můžete vynechat id prostředku <> segmentu syntaxe).

example.exe.<ID prostředku> .manifestu

example.dll.<ID prostředku> .manifestu

Elementy

V názvech prvků a atributů se rozlišují malá a velká písmena. Hodnoty elementů a atributů nerozlišují malá a velká písmena, s výjimkou hodnoty atributu typu.

shromáždění

Element kontejneru. Prvním dílčím prvkem musí být prvek noInherit nebo assemblyIdent ity. Požadovaný.

Element sestavení musí být v urn:schemas-microsoft-com:asm.v1oboru názvů . Podřízené prvky sestavení musí být také v tomto oboru názvů dědičností nebo označováním.

Element sestavení má následující atributy.

Atribut Popis
manifestVersion Atribut manifestVersion musí být nastaven na 1.0.

noInherit

Zahrňte tento prvek do manifestu aplikace, který nastaví kontexty aktivace vygenerované z manifestu s příznakem bez dědění. Pokud tento příznak není nastaven v kontextu aktivace a kontext aktivace je aktivní, dědí se novými vlákny ve stejném procesu, okna, procedurách okna a asynchronní volání procedur. Nastavením tohoto příznaku zabráníte novému objektu v dědění aktivního kontextu.

Element noInherit je volitelný a obvykle se vynechá. Většina sestavení nefunguje správně pomocí aktivačního kontextu bez dědění, protože sestavení musí být explicitně navrženo ke správě šíření vlastního kontextu aktivace. Použití elementu noInherit vyžaduje, aby všechna závislá sestavení odkazovaná manifestem aplikace měla noInherit element v manifestu sestavení .

Pokud noInherit se používá v manifestu, musí se jednat o první dílčí prvek sestavení elementu. Element assemblyIdentity by měl být bezprostředně za elementem noInherit. Pokud se noInherit nepoužívá, assemblyIdentity musí být prvním dílčím prvkem sestavení. Element noInherit nemá žádné podřízené prvky. Není platným prvkem v manifestech sestavení .

assemblyIdentity

Jako první dílčí prvek sestaveníassemblyIdentity popisuje a jednoznačně identifikuje aplikaci, která vlastní tento manifest aplikace. Jako první dílčí prvek dependentAssembly element, assemblyIdentity popisuje souběžné sestavení vyžadované aplikací. Všimněte si, že každé sestavení odkazované v manifestu aplikace vyžaduje assemblyIdentity, která přesně odpovídá assemblyIdentity v manifestu sestavení odkazovaného sestavení.

Element assemblyIdentity má následující atributy. Nemá žádné dílčí prvky.

Atribut Popis
typ Určuje typ aplikace nebo sestavení. Hodnota musí být win32 a to vše v malých písmenech. Požadovaný.
název Jednoznačně pojmenuje aplikaci nebo sestavení. Pro název použijte následující formát: Organization.Division.Name. Například Microsoft.Windows.mysampleApp. Požadovaný.
jazyka Identifikuje jazyk aplikace nebo sestavení. Pokud je aplikace nebo sestavení specifické pro jazyk, zadejte kód jazyka DHTML. V assemblyIdentity aplikace určené pro použití po celém světě (jazyk neutrální) vynechá atribut jazyka.
V assemblyIdentity sestavení určeného pro celosvětové použití (jazyk neutrální) nastavte hodnotu jazyka na *. Volitelný.
processorArchitecture Určuje procesor. Platné hodnoty zahrnují x86, amd64, arm a arm64. Můžete také zadat *, což zajišťuje, že jsou cílem všechny platformy. Volitelný.
verze Určuje verzi aplikace nebo sestavení. Použijte formát čtyřdílné verze: mmmmm.nnnnn.ooooo.ppppp. Každá část oddělená tečkami může být 0–65535 včetně. Další informace naleznete v tématu verze sestavení. Požadovaný.
publicKeyToken Šestnáctkový řetězec o 16 znacích představující posledních 8 bajtů hodnoty hash SHA-1 veřejného klíče, pod kterým je aplikace nebo sestavení podepsána. Veřejný klíč použitý k podepsání katalogu musí být 2048 bitů nebo vyšší. Vyžadováno pro všechna sdílená souběžná sestavení.
<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>

kompatibilita

Obsahuje alespoň jednu aplikaci. Nemá žádné atributy. Volitelný. Manifesty aplikací bez prvku kompatibility ve výchozím nastavení kompatibility systému Windows Vista v systému Windows 7.

Prvek kompatibility musí být v urn:schemas-microsoft-com:compatibility.v1oboru názvů . Podřízené prvky kompatibility musí být také v tomto oboru názvů dědičností nebo označováním.

aplikace

Obsahuje alespoň jeden podporovaný prvek OS. Počínaje Windows 10 verze 1903 může obsahovat také jeden volitelný maxversiontested element. Nemá žádné atributy. Volitelný.

supportedOS

podporovaný prvek OS má následující atribut. Nemá žádné dílčí prvky.

Atribut Popis
id Nastavte atribut ID na {e2011457-1546-43c5-a5fe-008deee3d3f0} pro spuštění aplikace pomocí funkce Vista. To může povolit aplikaci navrženou pro systém Windows Vista, aby běžela v novějším operačním systému.
Nastavte atribut ID na {35138b9a-5d96-4fbd-8e2d-a2440225f93a} pro spuštění aplikace pomocí funkcí Systému Windows 7.
Aplikace podporující funkce systému Windows Vista, Windows 7 a Windows 8 nevyžadují samostatné manifesty. V tomto případě přidejte identifikátory GUID pro všechny operační systémy Windows.
Informace o chování atributu ID ve Windows naleznete v Windows 8 a Windows Server 2012 Compatibility Cookbook.
Následující identifikátory GUID odpovídají uvedeným operačním systémům:
{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} –> Windows 10, Windows 11, Windows Server 2016, Windows Server 2019 a Windows Server 2022
{1f676c76-80e1-4239-95bb-83d0f6d0da78} –> Windows 8.1 a Windows Server 2012 R2
{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} –> Windows 8 a Windows Server 2012
{35138b9a-5d96-4fbd-8e2d-a2440225f93a} –> Windows 7 a Windows Server 2008 R2
{e2011457-1546-43c5-a5fe-008deee3d3f0} –> Windows Vista a Windows Server 2008
Můžete to otestovat ve Windows 7 nebo Windows 8.x spuštěním nástroje Sledování prostředků (resmon), přechodem na kartu Procesor, kliknutím pravým tlačítkem na popisky sloupců, výběrem sloupce a zaškrtnutím políčka Kontext operačního systému. Ve Windows 8.x můžete tento sloupec najít také ve Správci úloh (taskmgr). Obsah sloupce zobrazuje nejvyšší nalezenou hodnotu nebo "Windows Vista" jako výchozí.

maxversiontested

Element maxversiontested určuje verze Windows, na které byla aplikace testována od minimální verze operačního systému, kterou aplikace podporuje až do maximální verze. Kompletní sadu verzí najdete zde. Tato funkce je určená pro desktopové aplikace, které používají ostrůvků XAML a které nejsou nasazené v balíčku MSIX. Tento prvek je podporován ve Windows 10 verze 1903 a novějších verzích.

Element maxversiontested má následující atribut. Nemá žádné dílčí prvky.

Atribut Popis
id Nastavte atribut ID na 4dílný řetězec verze, který určuje maximální verzi Systému Windows, na kterou byla aplikace testována. Například 10.0.18362.1 pro Windows 10 verze 1903. Požadovaný.
<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>

závislost

Obsahuje alespoň jeden dependentAssembly. Nemá žádné atributy. Volitelný.

dependentAssembly

Prvním dílčím prvkem dependentAssembly musí být element assemblyIdentity, který popisuje souběžné sestavení vyžadované aplikací. Každý dependentAssembly musí být uvnitř přesně jednoho závislostí. Nemá žádné atributy.

soubor

Určuje soubory, které jsou pro aplikaci soukromé. Volitelný.

Element souboru má atributy uvedené v následující tabulce.

Atribut Popis
název Název souboru. Například Comctl32.dll. Požadovaný.
hashalg Algoritmus použitý k vytvoření hodnoty hash souboru. Tato hodnota by měla být SHA1. Volitelný.
hash Hodnota hash souboru, na který odkazuje název. Šestnáctkový řetězec délky v závislosti na algoritmu hash. Volitelný.

activatableClass

Umožňuje nebalené desktopové aplikace využívat uživatelsky definované součásti prostředí Windows Runtime (WinRT). Tento prvek je podporován ve Windows 10 verze 1903 a novějších verzích. Další informace najdete v tomto článku.

Prvek activatableClass musí být v urn:schemas-microsoft-com:winrt.v1oboru názvů .

Element activatableClass má následující atributy.

Atribut Popis
název Určuje identifikátor třídy pro aktivovatelnou třídu. Požadovaný.
threadingModel Představuje model vláken bytu, který se má použít k aktivaci procesového serveru. Platné hodnoty zahrnují both, STAnebo MTA. Další informace najdete v tomto článku. Požadovaný.
<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

Ve Windows 10 tento prvek vynutí proces, aby jako znakovou stránku procesu používal UTF-8. Další informace naleznete v tématu Použití znakové stránky UTF-8. Ve Windows 10 je jediná platná hodnota pro activeCodePage je UTF-8.

Počínaje Windows 11 tento prvek také umožňuje vybrat starší znakovou stránku, která není UTF-8, nebo znakové stránky pro konkrétní národní prostředí pro kompatibilitu starších verzí aplikací. Moderní aplikace se důrazně doporučuje používat Unicode. Ve Windows 11 může být activeCodePage také nastavena na hodnotu Starší nebo název národního prostředí, například en-US nebo ja-JP.

  • Na počítačích nakonfigurovaných na systémovou aktivní znakovou stránku UTF-8 se starší verze vrátí proces na znakové stránky národního prostředí systému. Pokud národní prostředí systému nemá definované znakové stránky, použije se Windows-1252/437. Nastavení starší verze znakové stránky se podporuje jenom v manifestech Fusion a začíná jenom s Windows 11.
  • Pokud je zadán název národního prostředí, jako je například en-US, bude znaková stránka procesu nastavena odpovídajícím způsobem pro tuto znakovou stránku národního prostředí. Například Windows-1252 a 437 pro en-USnebo 932 pro ja-JP.

Tento prvek byl poprvé přidán ve Windows 10 verze 1903 (aktualizace z května 2019). Tuto vlastnost a cíl/spuštění můžete deklarovat v dřívějších buildech Windows, ale musíte zpracovat detekci a převod starší verze znakové stránky jako obvykle. Tento prvek nemá žádné atributy.

Následující příklad ukazuje, jak pomocí tohoto prvku vynutit aktuální proces použít UTF-8 jako znakovou stránku procesu.

<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

Určuje, jestli je povolené automatické zvýšení oprávnění. TRUE označuje, že je povolená. Nemá žádné atributy. Spustitelný soubor musí být digitálně podepsaný aplikací Windows Publisher. Pro interní použití.

disableTheming

Určuje, jestli je předání prvků uživatelského rozhraní motivu zakázané. hodnota TRUE indikuje zakázáno. Nemá žádné atributy.

disableWindowFiltering

Určuje, jestli se má zakázat filtrování oken. TRUE zakáže filtrování oken, abyste mohli zobrazit výčet imerzivních oken z plochy. disableWindowFiltering byl přidán ve Windows 8 a nemá žádné atributy.

<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

Určuje, jestli je aktuální proces v paměti bodů na palec (dpi).

Windows 10 verze 1607: Prvek dpiAware se ignoruje, pokud je k dispozici prvek dpiAwareness dpiAwareness. Oba prvky můžete zahrnout do manifestu, pokud chcete zadat jiné chování pro Windows 10 verze 1607 než pro starší verzi operačního systému.

Následující tabulka popisuje chování, které je výsledkem na základě přítomnosti dpiAware elementu a textu, který obsahuje. Text uvnitř elementu nerozlišuje malá a velká písmena.

Stav prvku dpiAware Popis
Nepřítomný Aktuální proces ve výchozím nastavení nezná hodnotu dpi. Toto nastavení můžete programově změnit voláním funkce SetProcessDpiAwareness nebo SetProcessDPIAware.
Obsahuje hodnotu true. Aktuální proces je pracující s dpi systému.
Obsahuje hodnotu false. Windows Vista, Windows 7 a Windows 8: Chování je stejné jako v případě, že dpiAware chybí.
Windows 8.1 a Windows 10: Aktuální proces nezná dpi a toto nastavení nelze programově změnit voláním funkce SetProcessDpiAwareness nebo SetProcessDPIA ware.
Obsahuje hodnotu true/pm. Windows Vista, Windows 7 a Windows 8: Aktuální proces je systém dpi.
Windows 8.1 a Windows 10: Aktuální proces je na monitor dpi.
Obsahuje "na monitor". Windows Vista, Windows 7 a Windows 8: Chování je stejné jako v případě, že dpiAware chybí.
Windows 8.1 a Windows 10: Aktuální proces je na monitor dpi.
Obsahuje jakýkoli jiný řetězec. Windows Vista, Windows 7 a Windows 8: Chování je stejné jako v případě, že dpiAware chybí.
Windows 8.1 a Windows 10: Aktuální proces nezná dpi a toto nastavení nelze programově změnit voláním funkce SetProcessDpiAwareness nebo SetProcessDPIA ware.

Další informace o nastavení rozpoznávání dpi naleznete v tématu Vývoj desktopových aplikací s vysokým rozlišením DPI ve Windows.

dpiAware nemá žádné atributy.

<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

Určuje, jestli je aktuální proces v paměti bodů na palec (dpi).

Minimální verze operačního systému, která podporuje prvek dpiAwareness je Windows 10 verze 1607. U verzí, které podporují prvek dpiAwareness, dpiAwareness přepíše prvek dpiAware. Oba prvky můžete zahrnout do manifestu, pokud chcete zadat jiné chování pro Windows 10 verze 1607 než pro starší verzi operačního systému.

Prvek dpiAwareness může obsahovat jednu položku nebo seznam položek oddělených čárkami. V druhém případě se použije první (úplně vlevo) položka v seznamu rozpoznaná operačním systémem. Tímto způsobem můžete určit různá chování podporovaná v budoucích verzích operačního systému Windows.

Následující tabulka popisuje chování, které je výsledkem na základě přítomnosti dpiAwareness elementu a textu, který obsahuje v nejvíce levé rozpoznané položce. Text uvnitř elementu nerozlišuje malá a velká písmena.

dpiAwareness stavu elementu: Popis
Element chybí. Prvek dpiAware určuje, zda je proces vědom dpi.
Neobsahuje žádné rozpoznané položky. Aktuální proces ve výchozím nastavení nezná hodnotu dpi. Toto nastavení můžete programově změnit voláním funkce SetProcessDpiAwareness nebo SetProcessDPIAware.
První rozpoznaná položka je "systém". Aktuální proces je pracující s dpi systému.
První rozpoznaná položka je "permonitor". Aktuální proces je pracující s dpi na monitor.
První rozpoznaná položka je "permonitorv2" Aktuální proces používá kontext sledování dpi podle monitoru v2. Tato položka bude rozpoznána pouze ve Windows 10 verze 1703 nebo novější.
První rozpoznaná položka není "neznámá" Aktuální proces není dpi. Toto nastavení nelze programově změnit voláním funkce SetProcessDpiAwareness nebo SetProcessDPIAware.

Další informace o nastavení rozlišení dpi podporovaném tímto prvkem najdete v tématu DPI_AWARENESS a DPI_AWARENESS_CONTEXT.

dpiAwareness nemá žádné atributy.

<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

Určuje, jestli je povolené škálování GDI. Minimální verze operačního systému, která podporuje prvek gdiScaling, je Windows 10 verze 1703.

Rozhraní GDI (rozhraní grafického zařízení) může použít škálování DPI na primitiva a text na základě monitorování bez aktualizací samotné aplikace. To může být užitečné pro aplikace GDI, které se už aktivně neaktualizují.

Ne vektorové grafiky (například rastrové obrázky, ikony nebo panely nástrojů) nelze tímto prvkem škálovat. Kromě toho nelze pomocí tohoto prvku škálovat ani grafiku a text, které se zobrazují v bitmapách dynamicky vytvořené aplikacemi. Další informace najdete v tématu Vylepšení prostředí s vysokým rozlišením DPI v desktopových aplikacích založených na GDI.

Toto nastavení můžete programově změnit voláním funkce SetThreadDpiAwarenessContext nebo SetProcessDpiAwarenessContext funkce s hodnotou DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED.

TRUE označuje, že je tento prvek povolen. Nemá žádné atributy.

<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

Určuje, jestli je povoleno posouvání s vysokým rozlišením. TRUE označuje, že je povolená. Nemá žádné atributy.

longPathAware

Umožňuje dlouhé cesty, které překračují délku MAX_PATH. Tento prvek je podporován ve Windows 10 verze 1607 a novějších. Další informace najdete v tomto článku.

<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

Určuje, zda je povolena izolace ovladače tiskárny. TRUE označuje, že je povolená. Nemá žádné atributy. Izolace ovladače tiskárny zlepšuje spolehlivost tiskové služby systému Windows tím, že umožňuje, aby ovladače tiskárny běžely v procesech, které jsou oddělené od procesu, ve kterém běží zařazování tisku. Podpora izolace ovladače tiskárny byla spuštěna v systémech Windows 7 a Windows Server 2008 R2. Aplikace může deklarovat izolaci ovladače tiskárny v manifestu aplikace, aby se izolovala od ovladače tiskárny a zlepšila její spolehlivost. To znamená, že pokud má ovladač tiskárny chybu, aplikace se chybově neuskuteční.

<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

Určuje, jestli je povoleno posouvání ultra-high-resolution-scrolling. TRUE označuje, že je povolená. Nemá žádné atributy.

msix

Určuje informace o identitě balíčku s externím umístěním pro aktuální aplikaci (viz Udělení identity balíčku zabalením s externím umístěním). Tento prvek je podporován ve Windows 10 verze 2004 a novějších verzích.

Prvek msix musí být v urn:schemas-microsoft-com:msix.v1oboru názvů . Má atributy uvedené v následující tabulce.

Atribut Popis
vydavatele Popisuje informace o vydavateli. Tato hodnota se musí shodovat s atributem Publisher v elementu Identity v manifestu balíčku vaší zabalené aplikace s externím umístěním.
packageName Popisuje obsah balíčku. Tato hodnota musí odpovídat atributu Name v elementu Identity v manifestu balíčku vaší zabalené aplikace s externím umístěním.
applicationId Jedinečný identifikátor aplikace. Tato hodnota musí odpovídat atributu ID v elementu Application v manifestu balíčku vaší zabalené aplikace s externím umístěním.
<?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

Přepíše výchozí implementaci haldy pro rozhraní API haldy Win32, použít.

  • Hodnota SegmentHeap označuje, že bude použita halda segmentu. Halda segmentu je moderní implementace haldy, která obecně snižuje celkové využití paměti. Tento prvek je podporován ve Windows 10 verze 2004 (build 19041) a novější.
  • Všechny ostatní hodnoty se ignorují.

Tento prvek nemá žádné atributy.

<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

U spustitelných souborů .NET Framework jen pro IL Framework určuje seznam nativních architektur procesorů, se kterými je aplikace kompatibilní. Může obsahovat jednu nebo více následujících hodnot oddělených mezerami:

  • amd64
  • arm64

Tento prvek nemá žádné atributy.

Tento prvek je podporován ve Windows 11 verze 24H2 a novější.

<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

Všechny aplikace kompatibilní s UAC by měly mít přidanou požadovanou úroveň spuštění do manifestu aplikace. Požadované úrovně spuštění určují oprávnění požadovaná pro aplikaci. Další informace naleznete v tématu Jak řízení uživatelských účtů (UAC) ovlivňuje vaši aplikaci.

Požadovaná úroveň spuštění je určena atributem úrovně požadované úrovně requestedExecutionLevel descendent elementu trustInfo. Povolené hodnoty pro úrovně jsou:

Hodnota Popis
asInvoker Aplikace běží na stejné úrovni oprávnění jako proces, který ho spustil. Aplikaci můžete zvýšit na vyšší úroveň oprávnění tak, že vyberete Spustit jako správce.
requireAdministrator Aplikace běží pomocí oprávnění správce. Uživatel, který aplikaci spustí, musí být členem skupiny Administrators. Pokud proces otevření není spuštěný s oprávněními správce, systém zobrazí výzvu k zadání přihlašovacích údajů.
nejvyšší nedostupný Aplikace běží na nejvyšší úrovni oprávnění, kterou může. Pokud je uživatel, který aplikaci spustí, členem skupiny Administrators, je tato možnost stejná jako level="requireAdministrator". Pokud je nejvyšší dostupná úroveň oprávnění vyšší než úroveň procesu otevření, systém zobrazí výzvu k zadání přihlašovacích údajů.

Nastavení úrovně na highestAvailable zajistí úspěšné spuštění aplikace s oběma uživateli, kteří jsou členy skupiny Administrators a kteří nejsou. Pokud aplikace může fungovat pouze s přístupem pro správu k systému, označte aplikaci požadovanou úrovní provádění requireAdministrator zajistíte, že systém identifikuje tento program jako aplikaci pro správu a provede nezbytné kroky zvýšení oprávnění.

Ve výchozím nastavení linker Visual C++ vloží fragment UAC do manifestu aplikace s úrovní provádění asInvoker.

Element requestedExecutionLevel má také volitelný atribut uiAccess. Tuto hodnotu nastavte na true, pokud chcete, aby aplikace obešla úrovně ochrany uživatelského rozhraní a vstup vstupu do oken s vyššími oprávněními na ploše. Nastavte tento atribut na true pouze pro aplikace přístupnosti uživatelského rozhraní. Výchozí hodnota je false. Další omezení nastavení zásad zabezpečení lze použít, viz Řízení uživatelských účtů: Pouze zvýšení oprávnění aplikací UIAccess nainstalovaných v zabezpečených umístěních. Další informace naleznete v tématu aspekty zabezpečení pro technologie usnadnění.

Zadáním požadovaný uzelExecutionLevel zakáže virtualizaci souborů a registru. Pokud chcete pro zpětnou kompatibilitu využít virtualizaci souborů a registru, vypněte požadovaného uzluExecutionLevel.

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

Příklad

Následuje příklad manifestu aplikace pro aplikaci s názvem MySampleApp.exe. Aplikace využívá sestavení SampleAssembly vedle sebe.

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