Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Nadat u een pakketmanifest hebt gemaakt waarin uw toepassing wordt beschreven, kunt u uw manifest verzenden naar de Opslagplaats van Windows Package Manager. Dit is een openbare opslagplaats die een verzameling manifesten bevat waartoe het winget-hulpprogramma toegang heeft. Als u uw manifest wilt verzenden, uploadt u het naar de opensource-opslagplaats https://github.com/microsoft/winget-pkgs op GitHub.
Nadat u een pull-aanvraag hebt ingediend om een nieuw manifest toe te voegen aan de GitHub-opslagplaats, valideert een geautomatiseerd proces uw manifestbestand en controleert u of het pakket voldoet aan het Windows Package Manager-beleid en niet schadelijk is. Als deze validatie is geslaagd, wordt uw pakket toegevoegd aan de openbare Windows Package Manager-opslagplaats, zodat het kan worden gedetecteerd door het winget-clienthulpprogramma . Let op het onderscheid tussen de manifesten in de open source GitHub-opslagplaats en de openbare Windows Package Manager-opslagplaats.
Belangrijk
Microsoft behoudt zich het recht voor om een inzending om welke reden dan ook te weigeren.
Manifestvalidatie
Wanneer u een manifest verzendt naar de https://github.com/microsoft/winget-pkgs opslagplaats op GitHub, wordt uw manifest automatisch gevalideerd en geëvalueerd op de veiligheid van het Windows-ecosysteem. Manifesten kunnen ook handmatig worden gecontroleerd.
Zie de onderstaande sectie over het validatieproces voor meer informatie over het validatieproces .
Hoe u uw manifest kunt indienen
Volg deze stappen om een manifest naar de opslagplaats te verzenden.
Stap 1: Uw manifest valideren
Het hulpprogramma winget biedt de validate opdracht om te bevestigen dat u het manifest correct hebt gemaakt. Gebruik deze opdracht om uw manifest te valideren.
winget validate \<path-to-the-manifests>
Als de validatie mislukt, gebruikt u de fouten om het regelnummer te vinden en een correctie aan te brengen. Nadat het manifest is gevalideerd, kunt u het verzenden naar de opslagplaats.
Stap 2: Uw manifest testen met Windows Sandbox
De Windows Package Manager-opslagplaats bevat een script waarmee Windows Package Manager in een sandbox wordt geïnstalleerd voor het testen van manifestinzendingen. Als u het PowerShell-script wilt uitvoeren, gaat u naar de winget-pkgs-opslagplaats. Voer vanuit PowerShell de volgende opdracht in:
powershell .\Tools\SandboxTest.ps1 manifests\m\Microsoft\VisualStudioCode\1.56.0
Mogelijk moet u dit script bijwerken met het juiste pad naar het manifestbestand: .\Tools\SandboxTest.ps1 <path to manifest or manifest folder>
Zie het volledige sandbox-testscript in de winget-pkgs-opslagplaats.
Stap 3: De opslagplaats klonen
Ga als volgt te werk om een fork van de Windows Package Manager Community-opslagplaats te maken en de opslagplaats te klonen op uw lokale computer:
Ga naar https://github.com/microsoft/winget-pkgs in uw browser en selecteer Fork.
Gebruik vanuit de Windows-opdrachtprompt of PowerShell de volgende opdracht om uw fork te klonen.
git clone <your-fork-name>Als u meerdere inzendingen indient, maak dan een branch aan in plaats van een fork. Er is momenteel slechts één manifestbestand per inzending toegestaan.
git checkout -b <branch-name>
Stap 4: Uw manifest toevoegen aan de lokale opslagplaats
U moet uw manifestbestanden toevoegen aan de opslagplaats in de volgende mapstructuur:
uitdrukkingen / brief / uitgever / applicatie / versie
- De map manifesten is de hoofdmap voor alle manifesten in de opslagplaats.
- De letter map bevat de eerste letter van de naam van de uitgever in onderkast. Bijvoorbeeld m van de uitgever Microsoft.
- De uitgevermap is de naam van het bedrijf dat de software publiceert. Bijvoorbeeld Microsoft.
- De toepassingsmap is de naam van de toepassing of het hulpprogramma. Bijvoorbeeld VSCode.
- De versiemap bevat de versie van de toepassing of het hulpprogramma. Bijvoorbeeld 1.0.0.
De PackageIdentifier en PackageVersion-waarden in het manifest moeten overeenkomen met de uitgever, toepassingsnaam en versie in het pad van de manifest-directory. Zie Uw pakketmanifest maken voor meer informatie.
Stap 5: Uw manifest verzenden naar de externe opslagplaats
U bent nu klaar om uw nieuwe manifest naar de externe opslagplaats te pushen.
Gebruik de
commitopdracht om bestanden toe te voegen en de wijziging door te voeren en informatie op te geven over de inzending.git commit -m "Submitting ContosoApp version 1.0.0" --allGebruik de
pushopdracht om de wijzigingen naar de externe opslagplaats te pushen.git push
Stap 6: Een pull-aanvraag maken
Nadat u uw wijzigingen hebt gepusht, keert u terug naar https://github.com/microsoft/winget-pkgs en maakt u een pull request om uw fork of branch samen te voegen met de main branch.
Indieningsproces
Wanneer u een pull-aanvraag maakt, wordt er een geautomatiseerd proces gestart dat de manifesten valideert en uw pull-aanvraag verifieert. Tijdens dit proces voeren we tests uit op basis van het installatieprogramma en geïnstalleerde binaire bestanden om de inzending te valideren.
We voegen labels toe aan uw pull-aanvraag , zodat u de voortgang ervan kunt bijhouden. Voor meer informatie over labels en het proces, zie de sectie pull-aanvraaglabels hieronder.
Zodra uw inzending is voltooid, wordt uw inzending handmatig gecontroleerd door een moderator en nadat deze is goedgekeurd, wordt uw toepassing toegevoegd aan de Catalogus van Windows Package Manager.
Als er ooit een fout optreedt tijdens het proces, ontvangt u een melding en helpen onze labels en bot u bij het oplossen van uw inzending. Zie de onderstaande sectie over het validatieproces voor de lijst met veelvoorkomende fouten.
Validatieproces
Wanneer u een pull-aanvraag maakt om uw manifest in te dienen bij de Windows Package Manager-opslagplaats, wordt er een automatiseringsproces gestart waarmee het manifest wordt gevalideerd en uw pull-aanvraag wordt verwerkt. GitHub-labels worden gebruikt om de voortgang te delen en u in staat te stellen met ons te communiceren.
Verwachtingen voor inzending
Alle toepassingsinzendingen naar de Windows Package Manager-opslagplaats moeten voldoen aan het beleid voor de Windows Package Manager-opslagplaats.
Verwachtingen voor inzendingen:
- Het manifest voldoet aan de schemavereisten.
- Alle URL's in het manifest leiden tot veilige websites.
- Het installatieprogramma en de toepassing zijn virusvrij. Het pakket kan per ongeluk worden geïdentificeerd als malware. Als u denkt dat het een vals-positief is, kunt u het installatieprogramma voorleggen aan het Microsoft Defender-team voor analyse.
- De toepassing wordt correct geïnstalleerd en verwijderd voor zowel beheerders als niet-beheerders.
- Het installatieprogramma ondersteunt niet-interactieve modi.
- Alle manifestvermeldingen zijn nauwkeurig en niet misleidend.
- Het installatieprogramma komt rechtstreeks van de website van de uitgever.
Zie Windows Package Manager-beleid voor een volledige lijst met beleidsregels.
Labels voor pullverzoeken
Tijdens de validatie wordt een reeks labels toegepast op pull-aanvragen om de voortgang te communiceren. Sommige labels leiden u om actie te ondernemen, terwijl andere worden omgeleid naar het technische team van Windows Package Manager.
Statuslabels
In de onderstaande tabel worden destatuslabels beschreven die u mogelijk tegenkomt.
| Etiket | Bijzonderheden |
|---|---|
| door Azure-pijplijn doorgegeven | Het manifest heeft de testronde voltooid. Het wacht op goedkeuring. Als er tijdens de testpas geen problemen optreden, wordt deze automatisch goedgekeurd. Als een test mislukt, kan deze worden gemarkeerd voor handmatige controle. |
| Blokkerende Kwestie | Dit label geeft aan dat de pull-aanvraag niet kan worden goedgekeurd omdat er een blokkeringsprobleem is. U kunt vaak zien wat het blokkeringsprobleem is door het opgenomen foutlabel. |
| Aandacht nodig | Dit label geeft aan dat de pull-aanvraag moet worden onderzocht door het ontwikkelteam van Windows Package Manager. Dit komt door een testfout die handmatig moet worden beoordeeld of een opmerking die door de community aan de pull-aanvraag is toegevoegd. |
| Behoeften-Auteur-Feedback | Geeft aan dat er een fout is met de inzending. We zullen de pull-aanvraag opnieuw aan u toewijzen. Als u het probleem niet binnen 10 dagen verhelpt, sluit de bot de pull-aanvraag. Needs-Author-Feedback labels worden meestal toegevoegd wanneer er een probleem is met de pull-aanvraag die moet worden bijgewerkt of als de persoon die de pull-aanvraag beoordeelt een vraag heeft. |
| validatie voltooide | Geeft aan dat de testpas is voltooid en dat uw pull-aanvraag wordt samengevoegd. |
Foutlabels
In de volgende tabel worden de foutlabels beschreven u mogelijk tegenkomt. Niet alle foutcases worden onmiddellijk aan u toegewezen. Sommige kunnen handmatige validatie activeren.
| Etiket | Bijzonderheden |
|---|---|
| Binaire validatiefout | De toepassing die is opgenomen in deze pull-aanvraag, kan de scantest voor installatieprogramma's niet doorstaan. Deze test is ontworpen om ervoor te zorgen dat de toepassing wordt geïnstalleerd in alle omgevingen zonder waarschuwingen. Zie de sectie Binaire validatiefout hieronder voor meer informatie over deze fout. |
| time-out voor foutanalyse | Er is een time-out opgetreden voor de binaire-validatietest. De pull-aanvraag wordt toegewezen aan een Windows Package Manager-engineer voor onderzoek. |
| Fout-hash-komt-niet-overeen | Het ingediende manifest kan niet worden verwerkt omdat de InstallerSha256-hash die is opgegeven voor installerURL niet overeenkomt. Werk installerSha256 bij in de pull-aanvraag en probeer het opnieuw. |
| Fout-Installatiebeschikbaarheid | De validatieservice kan het installatieprogramma niet downloaden. Dit kan te maken hebben met het blokkeren van Azure IP-bereiken of de URL van het installatieprogramma is mogelijk onjuist. Controleer of installerURL juist is en probeer het opnieuw. Als u denkt dat dit fout is mislukt, voegt u een opmerking toe en wordt de pull-aanvraag toegewezen aan een Windows Package Manager-engineer om dit te onderzoeken. |
| Fout bij het valideren van de installatie van het manifest | Er zijn inconsistenties of waarden die niet aanwezig zijn in het manifest tijdens de evaluatie van een MSIX-pakket. |
| manifestpadfout | De manifestbestanden moeten in een specifieke mapstructuur worden geplaatst. Dit label geeft een probleem aan met het pad van uw inzending. De mapstructuur heeft bijvoorbeeld niet de vereiste indeling. Werk je manifest en pad bij en dien je pull-aanvraag opnieuw in. |
| Manifestvalidatiefout | Het ingediende manifest bevat een syntaxisfout. Los het syntaxisprobleem op met het manifest en verzend het opnieuw. Zie de vereiste indeling voor meer informatie over de manifestindeling en het schema. |
| PullRequest-Error | De pull-aanvraag is ongeldig omdat niet alle ingediende bestanden zich onder de manifestmap bevinden of er meer dan één pakket of versie in de pull-aanvraag is. Werk uw pull-aanvraag bij om het probleem op te lossen en probeer het opnieuw. |
| URL-validatiefout | De URL-validatietest kan de URL niet vinden en heeft gereageerd met een HTTP-foutcode (403 of 404), of de URL-reputatietest is mislukt. U kunt identificeren welke URL in kwestie is door de details van de pull-aanvraag te bekijken. Als u dit probleem wilt oplossen, werkt u de betreffende URL's bij om de HTTP-foutcode op te lossen. Als het probleem niet wordt veroorzaakt door een HTTP-foutcode, kunt u de URL ter beoordeling indienen om de reputatiefout te voorkomen. |
| Validatie-Defender-fout | Tijdens dynamische tests heeft Microsoft Defender een probleem gemeld. Als u dit probleem wilt reproduceren, installeert u uw toepassing en voert u vervolgens een volledige scan van Microsoft Defender uit. Als u het probleem kunt reproduceren, repareert u het binaire bestand of dien het in voor analyse voor hulp bij foutieve positieven. Als u het probleem niet kunt reproduceren, voegt u een opmerking toe om de Technici van Windows Package Manager te laten onderzoeken. |
| validatiedomein | De test heeft het domein bepaald als de InstallerURL niet overeenkomt met het verwachte domein. Voor het Windows Package Manager-beleid is vereist dat installerUrl rechtstreeks afkomstig is van de releaselocatie van de ISV. Als u denkt dat dit een foutdetectie is, voegt u een opmerking toe aan de pull-aanvraag om de Windows Package Manager-technici te laten onderzoeken. |
| Validatiefout | Validatie van Windows Package Manager is mislukt tijdens handmatige goedkeuring. Bekijk de bijbehorende opmerking voor de volgende stappen. |
| validatie-uitvoerbare fout | Tijdens het testen van de installatie kon de test de primaire toepassing niet vinden. Zorg ervoor dat de toepassing correct op alle platforms wordt geïnstalleerd. Als uw toepassing geen toepassing installeert, maar nog steeds in de opslagplaats moet worden opgenomen, voegt u een opmerking toe aan de pull-aanvraag om de Technici van Windows Package Manager te laten onderzoeken. |
| Validatie-Hash-Verificatie mislukt | Tijdens het testen van de installatie kan de toepassing niet worden geïnstalleerd omdat de InstallerSha256 niet meer overeenkomt met de InstallerURL-hash . Dit kan gebeuren als de toepassing zich achter een vanity-URL bevindt en het installatieprogramma is bijgewerkt zonder de InstallerSha256-bij te werken. Om dit probleem op te lossen, werk de gekoppelde InstallerSha256- aan de InstallerURL- bij en verzend deze opnieuw. |
| validatie-HTTP-fout | De URL die wordt gebruikt voor het installatieprogramma maakt geen gebruik van het HTTPS-protocol. Werk installerURL bij voor het gebruik van HTTPS en verzend de pull-aanvraag opnieuw. |
| validatie-indirect-URL- | De URL komt niet rechtstreeks van de ISV-server. Tests hebben vastgesteld dat er een redirector is gebruikt. Dit is niet toegestaan omdat het Windows Package Manager-beleid vereist dat installerUrl rechtstreeks afkomstig is van de releaselocatie van de ISV. Verwijder de omleiding en verzend deze opnieuw. |
| Validatie-Installatiefout | Tijdens handmatige validatie van dit pakket is er een algemene fout opgetreden. Bekijk de bijbehorende opmerking voor de volgende stappen. |
| validatie-samenvoegingsconflicten | Dit pakket kan niet worden gevalideerd vanwege een samenvoegingsconflict. Los het samenvoegingsconflict op en verzend uw pull-aanvraag opnieuw. |
| Validatie-MSIX-afhankelijkheid | Het MSIX-pakket heeft een afhankelijkheid van het pakket dat niet kan worden opgelost. Werk het pakket bij om de ontbrekende onderdelen op te nemen of voeg de afhankelijkheid toe aan het manifestbestand en verzend de pull-aanvraag opnieuw. |
| Validatie - niet-goedgekeurde URL | De test heeft het domein bepaald als de InstallerURL niet overeenkomt met het verwachte domein. Voor het Windows Package Manager-beleid is vereist dat installerUrl rechtstreeks afkomstig is van de releaselocatie van de ISV. |
| Validatie-mislukt-onbeheerd | Tijdens de installatie trad er een time-out op bij de test. Dit komt waarschijnlijk doordat de toepassing niet stilletjes wordt geïnstalleerd. Dit kan ook het gevolg zijn van een andere fout en het stoppen van de test. Controleer of u uw manifest kunt installeren zonder gebruikersinvoer. Als u hulp nodig hebt, voegt u een opmerking toe aan de pull-aanvraag en onderzoeken de Technici van Windows Package Manager. |
| validatie-deïnstallatie-fout | Tijdens het testen van de deïnstallatie is de toepassing na de deïnstallatie niet volledig schoongemaakt. Bekijk de bijbehorende opmerking voor meer informatie. |
| Validatie-VCRuntime-Afhankelijkheid | Het pakket heeft een afhankelijkheid van de C++-runtime die niet kan worden opgelost. Werk het pakket bij om de ontbrekende onderdelen op te nemen of voeg de afhankelijkheid toe aan het manifestbestand en verzend de pull-aanvraag opnieuw. |
Labels voor inhoudsbeleid
De volgende tabel bevat inhoudsbeleidslabels. Als een van deze labels wordt toegevoegd, heeft iets in de manifestmetagegevens aanvullende handmatige inhoudsbeoordeling geactiveerd om ervoor te zorgen dat de metagegevens het Windows Package Manager-beleid volgen.
| Etiket | Bijzonderheden |
|---|---|
| Policy-Test-2.1 | Zie Algemene inhoudsvereisten. |
| Policy-Test-2.2 | Zie inhoud inclusief namen, logo's, originele inhoud en inhoud van derden |
| Policy-Test-2.3 | Zie Risico op schade. |
| Policy-Test-2.4 | Zie Lasterlijke, Libelous, Lastereuze en Bedreigende. |
| Policy-Test-2.5 | Zie Aanstootgevende inhoud. |
| Policy-Test-2.6 | Zie Alcohol, Tabak, Wapens en Drugs. |
| Policy-Test-2.7 | Zie Inhoud voor volwassenen. |
| Policy-Test-2.8 | Zie Illegale Activiteit. |
| Beleid-Test-2.9 | Zie Overmatige grof taalgebruik en ongepaste inhoud. |
| Policy-Test-2.10 | Zie land-/regiospecifieke vereisten. |
| Policy-Test-2.11 | Zie leeftijdsclassificaties. |
| Policy-Test-2.12 | Zie Door de gebruiker gegenereerde inhoud. |
Interne labels
De volgende tabel bevat interne foutlabels. Wanneer er interne fouten optreden, wordt uw pull-aanvraag toegewezen aan de Technici van Windows Package Manager om dit te onderzoeken.
| Etiket | Bijzonderheden |
|---|---|
| Internal-Error-Domain- | Er is een fout opgetreden tijdens de domeinvalidatie van de URL. |
| Interne Fout Dynamische Scan | Er is een fout opgetreden tijdens de validatie van de geïnstalleerde binaire bestanden. |
| interne-fout-sleutelwoordbeleid | Er is een fout opgetreden tijdens de validatie van het manifest. |
| internal-error-manifest | Er is een fout opgetreden tijdens de validatie van het manifest. |
| Internal-Error-NoArchitectures | Er is een fout opgetreden omdat de test de architectuur van de toepassing niet kon bepalen. |
| Interne-Fout-NietOndersteundeArchitecturen | Er is een fout opgetreden omdat de huidige architectuur niet wordt ondersteund. |
| internal-error-PR- | Er is een fout opgetreden tijdens de verwerking van de pull-aanvraag. |
| internal-error-static-scan- | Er is een fout opgetreden tijdens een statische analyse van de installatieprogramma's. |
| interne fout URL | Er is een fout opgetreden tijdens de reputatievalidatie van de installatieprogramma's. |
| Interne Fout | Er is een algemene fout of onbekende fout opgetreden tijdens de testfase. |
Binaire validatiefout
Als de validatie van uw Pull Request de Installers Scan test mislukt en een Binary-Validation-Error label krijgt, betekent dit dat uw toepassing niet kan worden geïnstalleerd op alle omgevingen.
Scantest voor installatieprogramma's
Om een uitstekende gebruikerservaring voor de installatie van toepassingen te bieden, moet Windows Package Manager ervoor zorgen dat alle toepassingen zonder fouten op pc's worden geïnstalleerd, ongeacht de omgeving. Een belangrijke test is ervoor te zorgen dat alle toepassingen worden geïnstalleerd zonder waarschuwingen voor verschillende populaire antivirusconfiguraties. Windows biedt het ingebouwde Microsoft Defender-antivirusprogramma, maar veel zakelijke klanten en gebruikers gebruiken andere antivirussoftware.
Elke inzending naar de Windows Package Manager-opslagplaats wordt uitgevoerd via verschillende antivirusprogramma's. Deze programma's hebben allemaal verschillende virusdetectiealgoritmen voor het identificeren van mogelijk ongewenste toepassingen (PUA) en malware.
Binaire validatiefouten aanpakken
Als de validatie van een toepassing mislukt, probeert Microsoft eerst bij de antivirusleverancier te controleren of de gemarkeerde software een fout-positief is. In veel gevallen werkt de leverancier van de antivirussoftware na de melding en validatie het algoritme bij en wordt de toepassing doorgegeven.
In sommige gevallen kan de leverancier van de antivirussoftware niet bepalen of de gedetecteerde codeafwijking een fout-positief is. In dit geval kan de toepassing niet worden toegevoegd aan de Windows Package Manager-opslagplaats. De pull-aanvraag wordt geweigerd met het label Binary-Validation-Error .
Als u een Binary-Validation-Error label op uw pull request krijgt, update uw software om de als PUA geïdentificeerde code te verwijderen.
Soms worden legitieme hulpprogramma's die worden gebruikt voor foutopsporing en activiteiten op laag niveau weergegeven als PUA voor antivirussoftware. Dit komt doordat de benodigde foutopsporingscode een vergelijkbare handtekening heeft als ongewenste software. Hoewel deze coderingspraktijk legitiem is, kan de Windows Package Manager-opslagplaats helaas deze toepassingen niet toestaan.
Problemen bij het indienen oplossen
Als het verzenden van Windows Package Manager mislukt, kunt u de hierboven beschreven labels gebruiken om de reden voor de fout te onderzoeken.
Voer de volgende stappen uit om fouten met pull-aanvragen te onderzoeken:
Er wordt onderaan de webpagina een fout in de pull-aanvraag weergegeven met het bericht Sommige controles zijn niet geslaagd. Selecteer de koppeling Details naast een mislukte validatie om naar de pagina Azure Pipelines te gaan.
Selecteer op de pagina Azure Pipelines de 0-fouten/0-waarschuwingen koppeling.
Selecteer op de volgende pagina de mislukte taak.
Op de volgende pagina ziet u de uitvoer voor de mislukte taak. De uitvoer helpt u bij het identificeren van de wijziging die u moet aanbrengen om het manifest te herstellen.
In het volgende voorbeeld is de fout opgetreden tijdens de -installatievalidatie-taak.
Windows developer