Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk menyiapkan aplikasi Anda untuk penginstalan streaming, Anda harus membuat peta grup konten. Artikel ini akan membantu Anda dengan spesifikasi membuat dan mengonversi peta grup konten sambil memberikan beberapa tips dan trik di sepanjang jalan.
Membuat peta grup konten sumber
Anda harus membuat SourceAppxContentGroupMap.xml file, lalu menggunakan Visual Studio atau alat MakeAppx.exe untuk mengonversi file ini ke versi akhir: AppxContentGroupMap.xml. Dimungkinkan untuk melewati satu langkah dengan membuat AppxContentGroupMap.xml dari awal, tetapi disarankan (dan umumnya lebih mudah) untuk membuat SourceAppxContentGroupMap.xml dan mengonversinya, karena wildcard tidak diizinkan di AppxContentGroupMap.xml (yang sebenarnya sangat berguna).
Mari kita telusuri skenario sederhana di mana penginstalan streaming aplikasi bermanfaat.
Katakanlah Anda telah membuat game, tetapi ukuran aplikasi akhir Anda lebih dari 100 GB. Itu akan memakan waktu lama untuk mengunduh dari Microsoft Store, yang bisa merepotkan. Jika Anda memilih untuk menggunakan penginstalan streaming aplikasi, Anda dapat menentukan urutan pengunduhan file aplikasi Anda. Dengan memberi tahu Store untuk mengunduh file penting terlebih dahulu, pengguna akan dapat berinteraksi dengan aplikasi Anda lebih cepat sementara file non-esensial lainnya diunduh di latar belakang.
Nota
Penginstalan aplikasi streaming sangat bergantung pada struktur file aplikasi Anda. Disarankan agar Anda memikirkan tata letak konten aplikasi sehubungan dengan penginstalan streaming aplikasi sesegera mungkin untuk membuat segmentasi file aplikasi Anda lebih sederhana.
Pertama, kita akan membuat SourceAppxContentGroupMap.xml file.
Sebelum kita masuk ke detailnya, berikut adalah contoh file sederhana dan lengkap SourceAppxContentGroupMap.xml :
<?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>
Ada dua komponen utama ke peta grup konten: bagian yang diperlukan , yang berisi grup konten yang diperlukan, dan bagian otomatis , yang dapat berisi beberapa grup konten otomatis.
Grup konten yang diperlukan
Grup konten yang diperlukan adalah grup konten tunggal dalam <Required> elemen SourceAppxContentGroupMap.xml. Grup konten yang diperlukan harus berisi semua file penting yang diperlukan untuk meluncurkan aplikasi dengan pengalaman pengguna minimal. Karena kompilasi .NET Native, semua kode (aplikasi yang dapat dieksekusi) harus menjadi bagian dari grup yang diperlukan, meninggalkan aset dan file lain untuk grup otomatis.
Misalnya, jika aplikasi Anda adalah game, grup yang diperlukan dapat menyertakan file yang digunakan di menu utama atau layar beranda game.
Berikut adalah cuplikan dari file contoh asli SourceAppxContentGroupMap.xml kami:
<Required>
<ContentGroup Name="Required">
<File Name="StreamingTestApp.exe"/>
</ContentGroup>
</Required>
Ada beberapa hal penting yang perlu diperhatikan di sini:
- Elemen
<ContentGroup>di dalam<Required>harus diberi nama "Wajib." Nama ini dicadangkan hanya untuk grup konten yang diperlukan, dan tidak dapat digunakan dengan yang lain<ContentGroup>di peta grup konten akhir. - Hanya ada satu
<ContentGroup>. Ini disengaja, karena seharusnya hanya ada satu grup file penting. - File dalam contoh ini adalah satu
.exefile. Grup konten yang diperlukan tidak dibatasi untuk satu file, mungkin ada beberapa.
Cara mudah untuk mulai menulis file ini adalah dengan membuka halaman baru di editor teks favorit Anda, melakukan "Simpan Sebagai" cepat dari file Anda ke folder proyek aplikasi Anda, dan beri nama file yang baru Dibuat: SourceAppxContentGroupMap.xml.
Penting
Jika Anda mengembangkan aplikasi C++, Anda harus menyesuaikan properti file Anda SourceAppxContentGroupMap.xml. Atur properti Content ke true dan properti File Type ke File XML.
Saat Anda membuat SourceAppxContentGroupMap.xml, sangat membantu untuk memanfaatkan wildcard dalam nama file. Untuk informasi lebih lanjut, lihat bagian Tips dan trik untuk menggunakan wildcard.
Jika Anda mengembangkan aplikasi menggunakan Visual Studio, disarankan agar Anda menyertakannya dalam grup konten yang diperlukan:
<File Name="*"/>
<File Name="WinMetadata\*"/>
<File Name="Properties\*"/>
<File Name="Assets\*Logo*"/>
<File Name="Assets\*SplashScreen*"/>
Menambahkan nama file wildcard tunggal akan menyertakan file yang ditambahkan ke direktori proyek dari Visual Studio, seperti file eksekusi aplikasi atau DLL. Folder WinMetadata dan Properti harus menyertakan folder lain yang dihasilkan oleh Visual Studio. Wildcard aset digunakan untuk memilih gambar Logo dan SplashScreen yang diperlukan agar aplikasi dapat diinstal.
Perhatikan bahwa Anda tidak dapat menggunakan wildcard ganda, "**", di akar struktur file untuk menyertakan setiap file dalam proyek karena akan terjadi kegagalan saat mencoba mengonversi SourceAppxContentGroupMap.xml menjadi AppxContentGroupMap.xml final.
Penting juga untuk dicatat bahwa file jejak (AppxManifest.xml, AppxSignature.p7x, resources.pri, dll.) tidak boleh disertakan dalam peta grup konten. Jika file jejak sistem disertakan dalam salah satu nama file karakter pengganti yang Anda tentukan, file tersebut akan diabaikan.
Grup konten otomatis
Grup konten otomatis adalah aset yang diunduh di latar belakang saat pengguna berinteraksi dengan grup konten yang sudah diunduh. Ini berisi file tambahan yang tidak penting untuk meluncurkan aplikasi. Misalnya, Anda dapat memecah grup konten otomatis ke tingkat yang berbeda, menentukan setiap tingkat sebagai grup konten terpisah. Seperti yang disebutkan di bagian kelompok konten yang diperlukan: karena kompilasi .NET Native, semua kode (berkas eksekusi aplikasi) harus menjadi bagian dari kelompok yang diperlukan, sementara aset dan berkas lainnya termasuk dalam kelompok otomatis.
Mari kita lihat lebih dekat grup konten otomatis dari contoh kami SourceAppxContentGroupMap.xml :
<Automatic>
<ContentGroup Name="Level2">
<File Name="Assets\Level2\*"/>
</ContentGroup>
<ContentGroup Name="Level3">
<File Name="Assets\Level3\*"/>
</ContentGroup>
</Automatic>
Tata letak grup otomatis sangat mirip dengan grup yang diperlukan, dengan beberapa pengecualian:
- Ada beberapa grup konten.
- Grup konten otomatis dapat memiliki nama unik kecuali untuk nama "Wajib" yang dicadangkan untuk grup konten yang wajib.
- Grup konten otomatis tidak boleh berisi file apa pun dari grup konten yang diperlukan.
- Grup konten otomatis dapat berisi file yang juga berada di grup konten otomatis lainnya. File hanya akan diunduh sekali, dan akan diunduh dengan grup konten otomatis pertama yang berisinya.
Tips dan trik untuk menggunakan wildcard
Tata letak file untuk peta grup konten selalu relatif terhadap folder akar proyek Anda.
Dalam contoh kami, karakter pengganti digunakan di kedua elemen <ContentGroup> untuk mengambil semua file dalam satu tingkat direktori dari "Assets\Level2" atau "Assets\Level3." Jika Anda menggunakan struktur folder yang lebih dalam, Anda dapat menggunakan karakter pengganti ganda.
<ContentGroup Name="Level2">
<File Name="Assets\Level2\**"/>
</ContentGroup>
Anda juga dapat menggunakan karakter pengganti dengan teks untuk nama file. Misalnya, jika Anda ingin menyertakan setiap file di folder "Aset" Anda dengan nama file yang berisi "Level2" Anda dapat menggunakan sesuatu seperti ini:
<ContentGroup Name="Level2">
<File Name="Assets\*Level2*"/>
</ContentGroup>
Mengonversi SourceAppxContentGroupMap.xml ke AppxContentGroupMap.xml
Untuk mengonversi SourceAppxContentGroupMap.xml ke versi akhir, AppxContentGroupMap.xml, Anda dapat menggunakan Visual Studio 2017 atau alat baris perintah MakeAppx.exe .
Untuk menggunakan Visual Studio untuk mengonversi peta grup konten Anda:
- Tambahkan
SourceAppxContentGroupMap.xmlke folder proyek Anda - Ubah Aksi Build dari
SourceAppxContentGroupMap.xmlmenjadi "AppxSourceContentGroupMap" di jendela Properti - Klik kanan proyek di penjelajah solusi
- Menavigasi ke Penyimpanan -> Mengonversi File Peta Grup Konten
Jika Anda tidak mengembangkan aplikasi Anda di Visual Studio, atau jika Anda lebih suka menggunakan baris perintah, gunakan alat MakeAppx.exe untuk mengonversi SourceAppxContentGroupMap.xml.
Perintah MakeAppx.exe sederhana mungkin terlihat seperti ini:
MakeAppx convertCGM /s MyApp\SourceAppxContentGroupMap.xml /f MyApp\AppxContentGroupMap.xml /d MyApp\
Opsi /s menentukan jalur ke SourceAppxContentGroupMap.xml, dan /f menentukan jalur ke AppxContentGroupMap.xml. Pilihan terakhir, /d, menentukan direktori mana yang harus digunakan untuk memperluas pola umum nama file, dalam hal ini, yaitu direktori proyek aplikasi.
Untuk informasi selengkapnya tentang opsi yang dapat Anda gunakan dengan MakeAppx.exe, buka prompt perintah, navigasi ke MakeAppx.exe dan masukkan:
MakeAppx convertCGM /?
Itu saja yang Anda butuhkan untuk menyiapkan AppxContentGroupMap.xml akhir untuk aplikasi Anda! Masih ada lebih banyak yang harus dilakukan sebelum aplikasi Anda sepenuhnya siap untuk Microsoft Store. Untuk informasi selengkapnya tentang menambahkan penginstalan streaming ke aplikasi Anda, lihat halaman ini.