Delen via


Vereisten voor app-pakketten voor de MISIX-app

Behoeften

Volg deze richtlijnen om de pakketten van uw app voor te bereiden voor verzending naar de Microsoft Store.

Voordat u het pakket van uw app bouwt voor de Microsoft Store

Zorg ervoor dat u uw app test met de Windows App Certification Kit. U wordt ook aangeraden uw app te testen op verschillende soorten hardware. Houd er rekening mee dat totdat we uw app certificeren en deze beschikbaar maken vanuit de Microsoft Store, deze alleen kunnen worden geïnstalleerd en uitgevoerd op computers met ontwikkelaarslicenties.

Het app-pakket bouwen met Microsoft Visual Studio

Als u Microsoft Visual Studio als uw ontwikkelomgeving gebruikt, hebt u al ingebouwde hulpprogramma's waarmee u een app-pakket snel en eenvoudig kunt maken. Zie Packaging-appsvoor meer informatie.

Opmerking

Zorg ervoor dat al uw bestandsnamen ANSI gebruiken.

Wanneer u uw pakket in Visual Studio maakt, moet u ervoor zorgen dat u bent aangemeld met hetzelfde account dat is gekoppeld aan uw ontwikkelaarsaccount. Sommige onderdelen van het pakketmanifest hebben specifieke details met betrekking tot uw account. Deze informatie wordt gedetecteerd en automatisch toegevoegd. Zonder de aanvullende informatie die aan het manifest is toegevoegd, kunnen er fouten optreden bij het uploaden van pakketten.

Wanneer u de UWP-pakketten van uw app bouwt, kan Visual Studio een .msix- of appx-bestand of een .msixupload- of .appxupload-bestand maken. Voor UWP-apps raden we u aan altijd het .msixupload- of .appxupload-bestand te uploaden op de pagina Pakketten. Zie Een UWP-app verpakken met Visual Studiovoor meer informatie over het verpakken van UWP-apps voor de Store.

De pakketten van uw app hoeven niet te worden ondertekend met een certificaat dat is geroot in een vertrouwde certificeringsinstantie.

App-bundels

Voor UWP-apps kan Visual Studio een app-bundel (.msixbundle of .appxbundle) genereren om de grootte te verkleinen van de app die gebruikers downloaden. Dit kan handig zijn als u taalspecifieke assets, een verscheidenheid aan assets op afbeeldingsschaal of resources hebt gedefinieerd die van toepassing zijn op specifieke versies van Microsoft DirectX.

Opmerking

 Eén app-bundel kan uw pakketten voor alle architecturen bevatten.

Met een app-bundel downloadt een gebruiker alleen de relevante bestanden in plaats van alle mogelijke resources. Zie Packaging-apps en Een UWP-app verpakken met Visual Studiovoor meer informatie over app-bundels.

Het app-pakket handmatig bouwen

Als u Visual Studio niet gebruikt om uw pakket te maken, moet u het pakketmanifest handmatig maken.

Zorg ervoor dat je de documentatie over het manifest van het app-pakket doorneemt voor volledige details en vereisten van het manifest. Uw manifest moet het pakketmanifestschema volgen om certificering te behalen.

Uw manifest moet specifieke informatie over uw account en uw app bevatten. U kunt deze informatie vinden door te kijken naar App-identiteitsgegevens weergeven in het gedeelte Productbeheer van de overzichtspagina van uw app in het dashboard.

Opmerking

 Waarden in het manifest zijn hoofdlettergevoelig. Spaties en andere interpunctie moeten ook overeenkomen. Voer de waarden zorgvuldig in en controleer ze om ervoor te zorgen dat ze juist zijn.

App-bundels (.msixbundle of .appxbundle) gebruiken een ander manifest. Raadpleeg het Bundle-manifest documentatie voor de details en vereisten voor app-bundelmanifesten. Houd er rekening mee dat in een .msixbundle of .appxbundle het manifest van elk opgenomen pakket dezelfde elementen en kenmerken moet gebruiken, met uitzondering van het kenmerk ProcessorArchitecture kenmerk van het element Identity.

Aanbeveling

 Zorg ervoor dat u de Certificeringskit voor Windows-apps uitvoert voordat u uw pakketten verzendt. Hiermee kunt u bepalen of uw manifest problemen heeft die kunnen leiden tot certificerings- of inzendingsfouten.

Vereisten voor pakketindeling

De pakketten van uw app moeten aan deze vereisten voldoen.

App-pakketeigenschap Voorwaarde
Pakketgrootte .msixbundle of .appxbundle: maximaal 25 GB per bundel
.msix- of .appx-pakketten gericht op Windows 10 of Windows 11: maximaal 25 GB per pakket
Blokkaart-hashes SHA2-256-algoritme

Ondersteunde versies

Voor UWP-apps moeten alle pakketten gericht zijn op een versie van Windows 10 of Windows 11 die wordt ondersteund door de Store. De versies die uw pakket ondersteunt, moeten worden aangegeven in de MinVersion en MaxVersionTested kenmerken van de TargetDeviceFamily element van het app-manifest.

StoreManifest XML-bestand

StoreManifest.xml is een optioneel configuratiebestand dat kan worden opgenomen in app-pakketten. Het doel is om functies in te schakelen, zoals het declareren van uw app als een Microsoft Store-apparaat-app of het declareren van vereisten waarvoor een pakket afhankelijk is van de toepassing op een apparaat, dat het pakketmanifest niet omvat. Als dit wordt gebruikt, wordt StoreManifest.xml verzonden met het app-pakket en moet deze zich in de hoofdmap van het hoofdproject van uw app bevinden. Zie StoreManifest-schemavoor meer informatie.

Versienummering van pakket

Elk pakket dat u opgeeft, moet een versienummer hebben (opgegeven als een waarde in het kenmerk Version van het element Package/Identity in het app-manifest). De Microsoft Store dwingt bepaalde regels af die betrekking hebben op versienummers, die enigszins anders werken in verschillende versies van het besturingssysteem.

Opmerking

In dit onderwerp wordt verwezen naar 'pakketten', maar tenzij anders vermeld, zijn dezelfde regels van toepassing op versienummers voor zowel .msix/.appx- als .msixbundle/.appxbundle-bestanden.

Versienummering voor Windows 10- en 11-pakketten

Belangrijk

Voor Windows 10- of Windows 11-pakketten (UWP) is de laatste (vierde) sectie van het versienummer gereserveerd voor het gebruik van de Store en moet deze op 0 blijven staan wanneer u uw pakket bouwt (hoewel de waarde in deze sectie door de Store kan worden gewijzigd). De andere secties moeten worden ingesteld op een geheel getal tussen 0 en 65535 (behalve de eerste sectie, die niet 0 kan zijn).

Wanneer u een UWP-pakket kiest uit uw gepubliceerde inzending, gebruikt de Microsoft Store altijd het pakket met de hoogste versie dat van toepassing is op het Windows 10- of Windows 11-apparaat van de klant. Dit geeft u meer flexibiliteit en geeft u de controle over welke pakketten aan klanten op specifieke apparaattypen worden aangeboden. Belangrijk is dat u deze pakketten in elke bestelling kunt indienen; U bent niet beperkt tot het verstrekken van pakketten met een hogere versie bij elke volgende inzending.

U kunt meerdere UWP-pakketten aanbieden met hetzelfde versienummer. Pakketten die een versienummer delen, kunnen echter niet ook dezelfde architectuur hebben, omdat de volledige identiteit die de Store voor elk van uw pakketten gebruikt, uniek moet zijn. Zie Identiteit voor meer informatie.

Wanneer u meerdere UWP-pakketten aanbiedt die hetzelfde versienummer gebruiken, wordt de architectuur (in de volgorde x64, x86, Arm, neutraal) gebruikt om te bepalen welk pakket een hogere rang heeft (wanneer de Store bepaalt welk pakket aan het apparaat van een klant moet worden geleverd). Bij het rangschikken van app-bundels die hetzelfde versienummer gebruiken, wordt gekeken naar de hoogste architectuurrang binnen de bundel: een app-bundel die een x64-pakket bevat, zal een hogere rang hebben dan een bundel die alleen een x86-pakket bevat.

Dit geeft je veel flexibiliteit om je app in de loop van de tijd te ontwikkelen. U kunt nieuwe pakketten uploaden en indienen die lagere versienummers gebruiken om ondersteuning toe te voegen voor Windows 10- of Windows 11-apparaten die u eerder niet ondersteunde, u kunt pakketten met een hogere versie toevoegen die striktere afhankelijkheden hebben om te profiteren van hardware- of besturingssysteemfuncties, of u kunt pakketten met een hogere versie toevoegen die dienen als updates voor sommige of al uw bestaande klantenbestand.

In het volgende voorbeeld wordt geïllustreerd hoe versienummering kan worden beheerd om de beoogde pakketten via meerdere inzendingen aan uw klanten te leveren.

Voorbeeld: Overstappen op één pakket in plaats van meerdere inzendingen

Met Windows 10 kunt u een enkele codebase schrijven die overal draait. Dit maakt het starten van een nieuw platformonafhankelijk project veel eenvoudiger. Om een aantal redenen wilt u echter misschien niet bestaande codebases samenvoegen om meteen een enkel project te maken.

U kunt de regels voor pakketversiebeheer gebruiken om uw klanten geleidelijk over te zetten naar één pakket voor de universele apparaatfamilie, terwijl u een aantal tussentijdse updates verzendt voor specifieke apparaatfamilies (inclusief updates die gebruikmaken van Windows 10-API's). In het onderstaande voorbeeld ziet u hoe dezelfde regels consequent worden toegepast op een reeks inzendingen voor dezelfde app.

Indiening Inhoud Klantervaring
1 - Pakketversie: 1.1.10.0
- Apparaatfamilie: Windows.Desktop, minVersion 10.0.10240.0
- Apparaten op Windows 10 en 11 Desktop build 10.0.10240.0 en hoger krijgen 1.1.10.0
- Andere apparaatfamilies kunnen de app niet kopen en installeren
2 - Pakketversie: 1.1.10.0
- Apparaatfamilie: Windows.Desktop, minVersion 10.0.10240.0

- Pakketversie: 1.0.0.0
- Apparaatfamilie: Windows.Universal, minVersion 10.0.10240.0
- Apparaten op Windows 10 en 11 Desktop build 10.0.10240.0 en hoger krijgen 1.1.10.0
- Andere (niet-desktop) apparaatfamilies krijgen bij de introductie 1.0.0.0
- Desktopapparaten waarop de app al is geïnstalleerd, zien geen update (omdat ze al de best beschikbare versie 1.1.10.0 hebben en hoger zijn dan 1.0.0.0)
3 - Pakketversie: 1.1.10.0
- Apparaatfamilie: Windows.Desktop, minVersion 10.0.10240.0

- Pakket versie: 1.1.5.0
- Apparaatfamilie: Windows.Universal, minVersion 10.0.10250.0

- Pakketversie: 1.0.0.0
- Apparaatfamilie: Windows.Universal, minVersion 10.0.10240.0
- Apparaten op Windows 10 en 11 Desktop build 10.0.10240.0 en hoger krijgen 1.1.10.0
- Andere (niet-desktop) apparaatfamilies die worden geïntroduceerd met build 10.0.10250.0 en hoger, krijgen 1.1.5.0
- Andere (niet-desktop) apparaatfamilies die worden geïntroduceerd met build >=10.0.10240.0 en < 10.010250.0 krijgen 1.1.0.0
- Desktopapparaten waarop de app al is geïnstalleerd, zien geen update (omdat ze al de best beschikbare versie 1.1.10.0 hebben, die hoger is dan zowel 1.1.5.0 als 1.0.0.0)
4 - Pakket versie: 2.0.0.0
- Apparaatfamilie: Windows.Universal, minVersion 10.0.10240.0
- Alle klanten op alle apparaatfamilies op Windows 10 en 11 build v10.0.10240.0 en hoger krijgen pakket 2.0.0.0

Opmerking

 In alle gevallen ontvangen apparaten van de klant het pakket met het hoogst mogelijke versienummer waarvoor ze in aanmerking komen. In de derde inzending hierboven krijgen alle desktopapparaten bijvoorbeeld v1.1.10.0, zelfs als ze OS-versie 10.0.10250.0 of hoger hebben en dus ook v1.1.5.0 kunnen accepteren. Aangezien 1.1.10.0 het hoogste versienummer is dat voor hen beschikbaar is, is dat het pakket dat ze zullen krijgen.

Versienummering gebruiken om terug te gaan naar een eerder verzonden pakket voor nieuwe acquisities

Als u kopieën van uw pakketten bewaart, heeft u de mogelijkheid om het pakket van uw app in de Store terug te zetten naar een eerder Windows 10-pakket als u problemen met een release ontdekt. Dit is een tijdelijke manier om de verstoring voor uw klanten te beperken, terwijl u de tijd neemt om het probleem op te lossen.

Maak hiervoor een nieuwe inzending. Verwijder het problematische pakket en upload het oude pakket dat u in de Store wilt aanbieden. Klanten die het pakket dat u terugdraait al hebben ontvangen, hebben nog steeds het problematische pakket (aangezien uw oudere pakket een eerder versienummer heeft). Maar dit voorkomt dat iemand anders het problematische pakket aanschaft, terwijl de app nog steeds beschikbaar is in de Store.

Om het probleem op te lossen voor de klanten die het problematische pakket al hebben ontvangen, kunt u zo snel mogelijk een nieuw Windows 10-pakket indienen met een hoger versienummer dan het slechte pakket. Nadat die inzending het certificeringsproces heeft doorlopen, worden alle klanten bijgewerkt naar het nieuwe pakket, aangezien het een hoger versienummer zal hebben.

Ondersteunde talen

U kunt apps verzenden naar de Microsoft Store in meer dan 100 talen.

Zie Globalization and localization en Understand user profile languages and app manifest languagesvoor meer informatie over het configureren van talen in uw apps. We hebben ook een Meertalige App Toolkit om u te helpen apps te schrijven die meerdere talen ondersteunen.

Lijst met ondersteunde talen

Dit zijn de talen die door de Microsoft Store worden ondersteund. Uw app moet ten minste één van deze talen ondersteunen.

Taalcodes die hier niet zijn opgenomen, worden niet ondersteund door de Store. Het is raadzaam dat u geen pakketten opneemt die zijn gericht op taalcodes dan die hieronder worden vermeld; dergelijke pakketten worden niet gedistribueerd naar klanten en kunnen vertragingen of fouten in certificering veroorzaken.

Taalnaam Ondersteunde taalcodes
Arabisch ar, ar-sa, ar-ae, ar-bh, ar-dz, ar-eg, ar-iq, ar-jo, ar-kw, ar-lb, ar-ly, ar-ma, ar-om, ar-qa, ar-sy, ar-tn, ar-ye
Afrikaans af, af-za
Albanees sq, sq-al
Amhaars Anti-Mage, am-et
Armeens hoi, hy-am
Assamees als, as-in
Azerbeidzjaans az-arab, az-arab-az, az-cyrl, az-cyrl-az, az-latn, az-latn-az
Baskisch (Baskisch) EU, eu-es
Wit-Russisch Be, be-by
Bengaals BN, bn-bd, bn-in
Bosnisch bs, bs-cyrl, bs-cyrl-ba, bs-latn, bs-latn-ba
Bulgaars BG, bg-bg
Catalaans CA, ca-es, ca-es-Valencia
Cherokee chr-cher, chr-cher-us, chr-latn
Chinees (vereenvoudigd) zh-Hans, zh-cn, zh-hans-cn, zh-sg, zh-hans-sg
Chinees (traditioneel) zh-Hant, zh-hk, zh-mo, zh-tw, zh-hant-hk, zh-hant-mo, zh-hant-tw
Kroatisch hr, hr-hr, hr-ba
Tsjechisch cs, cs-cz
Deens ja, da-dk
Dari prs, prs-af, prs-arab
Nederlands NL, nl-nl, nl-be
Engels En, en-au, en-ca, en-gb, en-ie, en-in, en-nz, en-sg, en-us, en-za, en-bz, en-hk, en-id, en-jm, en-kz, en-mt, en-my, en-ph, en-pk, en-tt, en-vn, en-zw, EN-053, EN-021, EN-029, EN-011, EN-018, EN-014
Estlander et, et-ee
Filipijns fil, fil-latn, fil-ph
Fins fi, fi-fi
Frans fr, fr-be , fr-ca , fr-ch , fr-fr , fr-lu, FR-015, fr-cd, fr-ci, fr-cm, fr-ht, fr-ma, fr-mc, fr-ml, fr-re, FRC-Latn, FRP-LATN, FR-155, FR-029, FR-021, FR-011
Galicisch gl, gl-es
Georgisch Ka, ka-ge
Duits de, de-at, de-ch, de-de, de-lu, de-li
Grieks el, el-gr
Gujarati Gu, gu-in
Hausa ha, ha-latn, ha-latn-ng
Hebreeuws hij, he-il
Hindi Hallo, hi-in
Hongaars Hu, hu-hu
IJslands is, is-is
Igbo ig-latn, ig-ng
Indonesisch Identiteitskaart, id-id
Inuktitut (Latijn) iu-cans, iu-latn, iu-latn-ca
Iers Ga, ga-ie
isiXhosa XH, xh-za
isiZulu zu, zu-za
Italiaans het, it-it, it-ch
De Japanse taal Ja, ja-jp
Kannada kn, kn-in
Kazachs kk, kk-kz
Khmer km, km-kh
K'iche' quc-latn, qut-gt, qut-latn
Kinyarwanda RW, rw-rw
Kiswahili SW, sw-ke
Konkani kok, kok-in
Koreaans Ko, ko-kr
Koerdisch ku-arab, ku-arab-iq
Kirgizisch ky-kg, Ky-Cyrl
Laotiaans Kijk, lo-la
Letse taal lv, lv-lv
Litouws LT, lt-lt
Luxemburgs pond, lb-lu
Macedonisch MK, mk-mk
Maleisisch Mevrouw, ms-bn, ms-my
Malajalam ml, ml-in
Maltees MT, mt-mt
Maori mi, mi-latn, mi-nz
Marathi Dhr. mr-in
Mongools (Cyrillisch) Mn-Cyrl, Mn-Mong, mn-mn, Mn-Phag
Nepalees ne, ne-np
Noors nb, nb-no, nn, nn-no, nee, no-no,
Odia of, or-in
Perzisch fa, fa-ir
Pools Phantom Lancer, pl-pl
Portugees (Brazilië) pt-br
Portugees (Portugal) PT, pt-pt
Punjabi pa, pa-arabisch, pa-arabisch-pk, pa-deva, pa-in
Quechua quz, quz-bo, quz-ec, quz-pe
Roemeens RO, ro-ro
Russisch ru , ru-ru
Schots-Gaelisch gd-gb, gd-latn
Servisch (Latijns) sr-Latn, sr-latn-cs, sr, sr-latn-ba, sr-latn-me, sr-latn-rs
Servisch (Cyrillisch) sr-cyrl, sr-cyrl-ba, sr-cyrl-cs, sr-cyrl-me, sr-cyrl-rs
Sesotho sa Leboa nso, nso-za
Setswana TN, tn-bw, tn-za
Sindhi sd-arab, sd-arab-pk, sd-deva
Sinhala ja, si-lk
Slowaaks sk, sk-sk
Sloveens SL, sl-si
Spaans es, es-cl, es-co, es-es, es-mx, es-ar, es-bo, es-cr, es-do, es-ec, es-gt, es-hn, es-ni, es-pa, es-pe, es-pr, es-py, es-sv, es-us, es-uy, es-ve, es-019, es-419
Zweeds SV, sv-se, sv-fi
Tadzjiik (Cyrillisch) tg-arab, tg-cyrl, tg-cyrl-tj, tg-latn
Tamil TA, ta-in
Tataars tt-arab, tt-cyrl, tt-latn, tt-ru
Telugu te, te-in
Thais do, th-th
Tigrinya Ti, ti-et
Turkse taal tr, tr-tr
Turkmeens tk-cyrl, tk-latn, tk-tm, tk-latn-tr, tk-cyrl-tr
Oekraïens Verenigd Koninkrijk, uk-ua
Urdu uw, ur-pk
Oeigoerse ug-arabisch, ug-cn, ug-cyrl, ug-latn
Oezbeeks (Latijns) uz, uz-cyrl, uz-latn, uz-latn-uz
Vietnamees vi, vi-vn
Welsh (taal) cy, cy-gb
Wolof wo, wo-sn
Yoruba Yo-Latn, yo-ng