Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Abyste mohli aplikaci připravit na instalaci streamování, budete muset vytvořit mapu skupiny obsahu. Tento článek vám pomůže s konkrétními informacemi o vytvoření a převodu mapy skupiny obsahu a současně vám poskytne několik tipů a triků.
Vytvoření mapy zdrojové skupiny obsahu
Budete muset vytvořit SourceAppxContentGroupMap.xml soubor a pak buď pomocí sady Visual Studio, nebo nástroje MakeAppx.exe převést tento soubor na konečnou verzi: AppxContentGroupMap.xml. Krok je možné přeskočit vytvořením AppxContentGroupMap.xml úplně od začátku, ale doporučuje se (a obecně je to jednodušší) vytvořit SourceAppxContentGroupMap.xml a převést je, protože zástupné znaky nejsou povolené v AppxContentGroupMap.xml (a opravdu jsou užitečné).
Pojďme si projít jednoduchý scénář, ve kterém je instalace streamování aplikací výhodná.
Řekněme, že jste vytvořili hru, ale velikost konečné aplikace je větší než 100 GB. Stahování z Microsoft Storu bude trvat dlouhou dobu, což může být nevhodné. Pokud se rozhodnete použít instalaci streamování aplikací, můžete určit pořadí, ve kterém se stahují soubory vaší aplikace. Tím, že storu řeknete, aby nejdřív stáhl základní soubory, uživatel bude moct s vaší aplikací pracovat dříve, zatímco ostatní soubory, které nejsou nezbytné, se stáhnou na pozadí.
Poznámka:
Použití instalace streamování aplikací výrazně závisí na organizaci souborů vaší aplikace. Doporučujeme, abyste co nejdříve přemýšleli o rozložení obsahu vaší aplikace v souvislosti se streamovanou instalací aplikace, aby se zjednodušila segmentace souborů vaší aplikace.
Nejprve vytvoříme SourceAppxContentGroupMap.xml soubor.
Než se k podrobnostem dostaneme, tady je příklad jednoduchého kompletního SourceAppxContentGroupMap.xml souboru:
<?xml version="1.0" encoding="utf-8"?>
<ContentGroupMap xmlns="http://schemas.microsoft.com/appx/2016/sourcecontentgroupmap"
xmlns:s="http://schemas.microsoft.com/appx/2016/sourcecontentgroupmap">
<Required>
<ContentGroup Name="Required">
<File Name="StreamingTestApp.exe"/>
</ContentGroup>
</Required>
<Automatic>
<ContentGroup Name="Level2">
<File Name="Assets\Level2\*"/>
</ContentGroup>
<ContentGroup Name="Level3">
<File Name="Assets\Level3\*"/>
</ContentGroup>
</Automatic>
</ContentGroupMap>
Mapa skupiny obsahu obsahuje dvě hlavní komponenty: požadovaný oddíl, který obsahuje požadovanou skupinu obsahu, a automatický oddíl, který může obsahovat více automatických skupin obsahu.
Požadovaná skupina obsahu
Požadovaná skupina obsahu je jedna skupina obsahu v rámci <Required> elementu SourceAppxContentGroupMap.xml. Požadovaná skupina obsahu by měla obsahovat všechny základní soubory potřebné ke spuštění aplikace s minimálním uživatelským prostředím. Z důvodu kompilace .NET Native musí být veškerý kód (spustitelný soubor aplikace) součástí požadované skupiny a ponechat prostředky a další soubory pro automatické skupiny.
Pokud je vaše aplikace například hra, může požadovaná skupina obsahovat soubory použité v hlavní nabídce nebo na domovské obrazovce hry.
Tady je fragment kódu z našeho původního SourceAppxContentGroupMap.xml ukázkového souboru:
<Required>
<ContentGroup Name="Required">
<File Name="StreamingTestApp.exe"/>
</ContentGroup>
</Required>
Tady je několik důležitých věcí:
- Prvek
<ContentGroup>uvnitř elementu<Required>musí být pojmenován "Povinné." Tento název je vyhrazen pouze pro požadovanou skupinu obsahu a nelze ho použít s žádnou jinou<ContentGroup>v finální mapě skupiny obsahu. - Je tam jen jeden
<ContentGroup>. To je záměrné, protože by měla existovat pouze jedna skupina základních souborů. - Soubor v tomto příkladu je jeden
.exesoubor. Požadovaná skupina obsahu není omezena na jeden soubor, může existovat několik.
Snadný způsob, jak začít psát tento soubor, je otevřít novou stránku v oblíbeném textovém editoru, rychle "Uložit jako" souboru do složky projektu vaší aplikace a pojmenovat nově vytvořený soubor: SourceAppxContentGroupMap.xml.
Důležité
Pokud vyvíjíte aplikaci v jazyce C++, budete muset upravit vlastnosti vašeho souboru SourceAppxContentGroupMap.xml.
Content Nastavte vlastnost na true a File Type vlastnost na SOUBOR XML.
Při vytváření SourceAppxContentGroupMap.xmlje užitečné využít používání zástupných znaků v názvech souborů, kde najdete další informace v části Tipy a triky pro použití zástupných znaků .
Pokud jste aplikaci vyvinuli pomocí sady Visual Studio, doporučujeme ji zahrnout do požadované skupiny obsahu:
<File Name="*"/>
<File Name="WinMetadata\*"/>
<File Name="Properties\*"/>
<File Name="Assets\*Logo*"/>
<File Name="Assets\*SplashScreen*"/>
Přidáním názvu souboru se zástupným znakem způsobí zahrnutí souborů přidaných do adresáře projektu ve Visual Studiu, jako je například spustitelný soubor aplikace nebo knihovny DLL. Složky WinMetadata a Vlastnosti mají zahrnovat ostatní složky, které Visual Studio generuje. Zástupné znaky assetů slouží k výběru obrázků loga a úvodní obrazovky, které jsou nezbytné pro instalaci aplikace.
Pamatujte, že nelze použít dvojité zástupné znaky "**" v kořenovém adresáři struktury souborů k zahrnutí všech souborů v projektu, protože to selže při pokusu o převod SourceAppxContentGroupMap.xml na konečný AppxContentGroupMap.xml.
Je také důležité poznamenat, že soubory stop (AppxManifest.xml, AppxSignature.p7x, resources.pri atd.) by neměly být zahrnuty do mapy skupiny obsahu. Pokud jsou soubory otisku zahrnuty v jednom ze zadaných názvů souborů se zástupnými znaky, budou ignorovány.
Automatické skupiny obsahu
Automatické skupiny obsahu jsou obsahové prvky, které jsou stahovány na pozadí, zatímco uživatel pracuje s již staženými skupinami obsahu. Obsahují všechny další soubory, které nejsou pro spuštění aplikace nezbytné. Můžete například rozdělit automatické skupiny obsahu na různé úrovně a definovat každou úroveň jako samostatnou skupinu obsahu. Jak je uvedeno v sekci požadované skupiny: kvůli .NET Native kompilaci musí být veškerý kód (spustitelný soubor aplikace) součástí požadované skupiny, zatímco prostředky a další soubory patří do automatických skupin.
Pojďme se podrobněji podívat na skupinu automatického obsahu z našeho SourceAppxContentGroupMap.xml příkladu:
<Automatic>
<ContentGroup Name="Level2">
<File Name="Assets\Level2\*"/>
</ContentGroup>
<ContentGroup Name="Level3">
<File Name="Assets\Level3\*"/>
</ContentGroup>
</Automatic>
Rozložení automatické skupiny je poměrně podobné požadované skupině s několika výjimkami:
- Existuje několik skupin obsahu.
- Automatické skupiny obsahu můžou mít jedinečné názvy s výjimkou názvu Povinné, který je vyhrazený pro požadovanou skupinu obsahu.
- Automatické skupiny obsahu nemohou obsahovat žádné soubory z požadované skupiny obsahu.
- Automatická skupina obsahu může obsahovat soubory, které jsou také v jiných automatických skupinách obsahu. Soubory se stáhnou jenom jednou a stáhnou se s první automatickou skupinou obsahu, která je obsahuje.
Tipy a triky pro používání zástupných znaků
Rozložení souboru pro mapy skupin obsahu je vždy relativní vzhledem ke kořenové složce projektu.
V našem příkladu se zástupné znaky používají v obou <ContentGroup> prvcích k načtení všech souborů v rámci jedné úrovně souborů "Assets\Level2" nebo "Assets\Level3". Pokud používáte hlubší strukturu složek, můžete použít dvojitý zástupný znak:
<ContentGroup Name="Level2">
<File Name="Assets\Level2\**"/>
</ContentGroup>
Také můžete použít zástupné znaky s textem pro názvy souborů. Pokud například chcete zahrnout každý soubor do složky Assets s názvem souboru, který obsahuje "Úroveň2", můžete použít něco takového:
<ContentGroup Name="Level2">
<File Name="Assets\*Level2*"/>
</ContentGroup>
Převod SourceAppxContentGroupMap.xml na AppxContentGroupMap.xml
K převodu na SourceAppxContentGroupMap.xml konečnou verzi AppxContentGroupMap.xmlmůžete použít Visual Studio 2017 nebo nástroj příkazového řádku MakeAppx.exe .
Použití sady Visual Studio k převodu mapy skupiny obsahu:
- Přidejte
SourceAppxContentGroupMap.xmldo složky vašeho projektu - Změňte akci sestavení objektu
SourceAppxContentGroupMap.xmlna "AppxSourceContentGroupMap" v okně Vlastnosti. - Klikněte pravým tlačítkem na projekt v Průzkumníku řešení.
- Přechod na Store –> Převod souboru mapy skupiny obsahu
Pokud jste aplikaci nevytvořili v sadě Visual Studio nebo pokud chcete jenom používat příkazový řádek, použijte nástroj MakeAppx.exe k převodu SourceAppxContentGroupMap.xml.
Jednoduchý příkaz MakeAppx.exe může vypadat nějak takto:
MakeAppx convertCGM /s MyApp\SourceAppxContentGroupMap.xml /f MyApp\AppxContentGroupMap.xml /d MyApp\
Volba /s určuje cestu k SourceAppxContentGroupMap.xml, a volba /f určuje cestu k AppxContentGroupMap.xml. Poslední možnost, /d, určuje, který adresář by se měl použít pro rozšíření zástupných znaků pro nahraditelné části v názvu souboru, v tomto případě jde o adresář projektu aplikace.
Pro více informací o možnostech použití s MakeAppx.exe, otevřete příkazový řádek, přejděte na MakeAppx.exe a zadejte:
MakeAppx convertCGM /?
To je vše, co potřebujete k tomu, abyste měli konečný AppxContentGroupMap.xml připravený pro svou aplikaci! Ještě více toho je ještě potřeba udělat, než bude vaše aplikace plně připravená pro Microsoft Store. Další informace o přidání instalace streamování do aplikace najdete na této stránce.