Aracılığıyla paylaş


Bildiriminizi depoya gönderin

Uygulamanızı açıklayan bir paket bildirimi oluşturduktan sonra, bildiriminizi Windows Paket Yöneticisi deposuna göndermeye hazırsınız demektir. Bu, winget aracının erişebileceği bir bildirim koleksiyonu içeren genel kullanıma yönelik bir depodur. Bildiriminizi göndermek için GitHub'daki açık kaynak https://github.com/microsoft/winget-pkgs deposuna yükleyeceksiniz.

GitHub deposuna yeni bir bildirim eklemek için çekme isteği gönderdikten sonra, otomatik bir işlem bildirim dosyanızı doğrular ve paketin Windows Paket Yöneticisi ilkeleriyle uyumlu olduğundan ve kötü amaçlı olmadığı bilinmediğinden emin olup olmadığını denetler. Bu doğrulama başarılı olursa, paketiniz winget istemci aracı tarafından bulunabilmesi için genel kullanıma yönelik Windows Paket Yöneticisi deposuna eklenir. Açık kaynak GitHub deposundaki bildirimler ile genel kullanıma yönelik Windows Paket Yöneticisi deposu arasındaki ayrımı not edin.

Önemli

Microsoft herhangi bir nedenle gönderimi reddetme hakkını saklıdır.

Manifesto doğrulama

GitHub'daki depoya https://github.com/microsoft/winget-pkgs bir bildirim gönderdiğinizde bildiriminiz otomatik olarak doğrulanır ve Windows ekosisteminin güvenliği için değerlendirilir. Bildirimler el ile de gözden geçirilebilir.

Doğrulama işlemi hakkında daha fazla bilgi için aşağıdaki doğrulama işlemi bölümüne bakın.

Bildiriminizi gönderme

Depoya bildirim göndermek için şu adımları izleyin.

1. Adım: Bildiriminizi doğrulama

Winget aracı, bildiriminizi doğru oluşturduğunuzu onaylamak için validate komutunu sağlar. Bildiriminizi doğrulamak için bu komutu kullanın.

winget validate \<path-to-the-manifests>

Doğrulamanız başarısız olursa, hataları kullanarak satır numarasını bulun ve bir düzeltme yapın. Bildiriminiz doğrulandıktan sonra depoya gönderebilirsiniz.

2. Adım: Windows Korumalı Alanı ile bildiriminizi test edin

Windows Paket Yöneticisi deposu, bildirim gönderimlerini test etme amacıyla Korumalı Alana Windows Paket Yöneticisi'ni yükleyen bir betik içerir. PowerShell betiğini çalıştırmak için winget-pkgs deponuza gidin. PowerShell'den aşağıdaki komutu girin:

powershell .\Tools\SandboxTest.ps1 manifests\m\Microsoft\VisualStudioCode\1.56.0

Bu betiği bildirim dosyanızın doğru yolu ile güncelleştirmeniz gerekebilir: .\Tools\SandboxTest.ps1 <path to manifest or manifest folder>

winget-pkgs deposunda bulunan tam korumalı alan test betiği 'i inceleyin.

3. Adım: Depoyu kopyalama

Windows Paket Yöneticisi Topluluk deposunun çatalını oluşturmak ve depoyu yerel makinenize kopyalamak için:

  1. Tarayıcınızda gidin ve çatalseçin. GitHub’daki çatal düğmesinin ekran görüntüsü

  2. Fork'unuzu kopyalamak için Windows Komut İstemi penceresinden veya PowerShell'den aşağıdaki komutu kullanın.

    git clone <your-fork-name>
    
  3. Birden çok gönderim giriyorsanız çatal yerine bir dal oluşturun. Şu anda gönderim başına yalnızca bir bildirim dosyasına izin veririz.

    git checkout -b <branch-name>
    

4. Adım: Bildiriminizi yerel depoya ekleme

Bildirim dosyalarınızı aşağıdaki klasör yapısında depoya eklemeniz gerekir:

Bildirimleri / harf / yayıncı / uygulama / sürüm

  • Manifests klasörü, depodaki tüm bildirimlerin kök klasörüdür.
  • Letter klasörü, küçük harfteki yayımcı adının ilk harfidir. Örneğin m yayıncısı Microsoft.
  • Yayımcı klasörü, yazılımı yayımlayan şirketin adıdır. Örneğin, Microsoft.
  • Uygulama klasörü, uygulamanın veya aracın adıdır. Örneğin, VSCode.
  • Sürüm klasörü, uygulamanın veya aracın sürümüdür. Örneğin, 1.0.0.

PackageIdentifier ve PackageVersion değerleri, manifestodaki yayımcı, uygulama adları ve sürümle, manifesto dosyası yolunda eşleşmelidir. Daha fazla bilgi için bkz. Paket bildiriminizi oluşturma.

5. Adım: Bildiriminizi uzak depoya gönderme

Artık yeni bildiriminizi uzak depoya göndermeye hazırsınız.

  1. commit Dosya eklemek ve değişikliği işlemek ve gönderim hakkında bilgi sağlamak için komutunu kullanın.

    git commit -m "Submitting ContosoApp version 1.0.0" --all
    
  2. push Değişiklikleri uzak depoya göndermek için komutunu kullanın.

    git push
    

6. Adım: Çekme isteği oluştur

Değişikliklerinizi gönderdikten sonra https://github.com/microsoft/winget-pkgs'a geri dönün ve oluşturduğunuz fork veya dalı ana dala birleştirebilmek için bir pull request (çekme isteği) oluşturun.

çekme isteği sekmesinin ekran görüntüsü

Gönderim işlemi

Çekme isteği oluşturduğunuzda, bu işlem bildirimleri doğrulayan ve çekme isteğinizi doğrulayan otomatik bir işlem başlatır. Bu işlem sırasında, gönderimi doğrulamak için yükleyici ve yüklü ikili dosyalar üzerinde testler çalıştıracağız.

İlerleme durumunu izleyebilmeniz için çekme isteğinize etiketler ekliyoruz. Etiketler ve işlem hakkında daha fazla bilgi için aşağıdaki çekme isteği etiketleri bölümüne bakın.

Gönderiminiz tamamlandıktan sonra bir moderatör tarafından el ile gözden geçirilir ve onaylandıktan sonra uygulamanız Windows Paket Yöneticisi kataloğuna eklenir.

İşlem sırasında bir hata olursa size bildirilir ve etiketlerimiz ve botumuz gönderiminizi düzeltmenize yardımcı olur. Yaygın hataların listesi için aşağıdaki doğrulama işlemi bölümüne bakın.

Doğrulama işlemi

Bildiriminizi Windows Paket Yöneticisi deposuna göndermek için bir çekme isteği oluşturduğunuzda , bildirimi doğrulayan ve çekme isteğinizi işleyen bir otomasyon işlemi başlatılır. GitHub etiketleri ilerleme durumunu paylaşmak ve bizimle iletişim kurmanızı sağlamak için kullanılır.

Gönderim beklentileri

Windows Paket Yöneticisi deposuna yapılan tüm uygulama gönderimleri , Windows Paket Yöneticisi depo ilkelerine uymalıdır.

Gönderimlerle ilgili beklentiler:

  • Bildirim şema gereksinimlerine uygundur.
  • Bildirimdeki tüm URL'ler güvenli web sitelerine yol açar.
  • Yükleyici ve uygulama virüs içermez. Paket yanlışlıkla kötü amaçlı yazılım olarak tanımlanabilir. Bunun hatalı bir pozitif olduğunu düşünüyorsanız yükleyiciyi analiz için Microsoft Defender ekibine gönderebilirsiniz.
  • Uygulama hem yöneticiler hem de yönetici olmayanlar için doğru şekilde yüklenir ve kaldırılır.
  • Yükleyici etkileşimli olmayan modları destekler.
  • Tüm bildirim girdileri doğrudur ve yanıltıcı değildir.
  • Yükleyici doğrudan yayımcının web sitesinden gelir.

İlkelerin tam listesi için bkz. Windows Paket Yöneticisi ilkeleri.

Çekme isteği etiketleri

Doğrulama sırasında, ilerleme durumunu iletmek için bir dizi etiketi çekme isteklerine uygulanır. Bazı etiketler sizi eylem gerçekleştirmeye yönlendirirken, diğerleri Windows Paket Yöneticisi mühendislik ekibine yönlendirilir.

Durum etiketleri

Aşağıdaki tabloda karşılaşabileceğiniz durum etiketleri açıklanmaktadır.

Etiket Ayrıntılar
Azure-Pipeline Başarılı Manifesto test geçişini tamamladı. Onay bekliyor. Test geçişi sırasında herhangi bir sorunla karşılaşılmadıysa otomatik olarak onaylanır. Bir test başarısız olursa, el ile gözden geçirme için işaretlenebilir.
Engel Teşkil Eden Konu Bu etiket, engelleme sorunu olduğundan çekme isteğinin onaylanamayacağını gösterir. Engelleme sorununun ne olduğunu genellikle eklenen hata etiketiyle anlayabilirsiniz.
Dikkat Edilmesi Gerekenler Bu etiket, çekme isteğinin Windows Paket Yöneticisi geliştirme ekibi tarafından araştırılması gerektiğini gösterir. Bunun nedeni, el ile gözden geçirilmesi gereken bir test hatası veya topluluk tarafından çekme isteğine eklenen bir yorumdur.
Yazarın Geri Bildirimi Gerekiyor Gönderimde bir hata olduğunu gösterir. Pull request'i size tekrar atayacağız. Sorunu 10 gün içinde çözmezseniz bot çekme isteğini kapatır. Needs-Author-Feedback etiketleri genellikle güncelleştirilmesi gereken çekme isteğinde bir hata olduğunda veya çekme isteğini inceleyen kişinin sorusu olduğunda eklenir.
Doğrulama Tamamlandı Test geçişinin başarıyla tamamlandığını ve çekme talebinizin birleştirileceğini gösterir.

Hata etiketleri

Aşağıdaki tabloda karşılaşabileceğiniz hata etiketleri açıklanmaktadır. Hata durumlarının tümü size hemen atanmayacak. Bazıları el ile doğrulamayı tetikleyebilir.

Etiket Ayrıntılar
İkili-Doğrulama-Hatası Bu pull isteğine dahil edilen uygulama, Yükleyici Taraması testini geçemedi. Bu test, uygulamanın uyarı olmadan tüm ortamlara yüklenmesini sağlamak için tasarlanmıştır. Bu hata hakkında daha fazla bilgi için aşağıdaki İkili doğrulama hatası bölümüne bakın.
Hata Analizi-Zaman Aşımı İkili Doğrulama-Test testi zaman aşımına uğradı. Pull isteği, incelemek üzere bir Windows Paket Yöneticisi mühendisine atanacak.
Hata - Karma Uyuşmazlığı InstallerURL için sağlanan InstallerSha256 karması eşleşmediğinden gönderilen bildirim işlenemedi. Çekme isteğindeki InstallerSha256'i güncelleyin ve yeniden deneyin.
Hata Yükleyicisi-Kullanılabilirlik Doğrulama hizmeti yükleyiciyi indiremedi. Bu, Engellenen Azure IP aralıklarıyla ilgili olabilir veya yükleyici URL'si yanlış olabilir. InstallerURL'nin doğru olup olmadığını denetleyin ve yeniden deneyin. Bunun bir hata nedeniyle başarısız olduğunu düşünüyorsanız, bir yorum ekleyin ve çekme isteği, araştırılması için bir Windows Paket Yöneticisi mühendisine atanacaktır.
Bildirim Yükleyicisi-Doğrulama Hatası MSIX paketinin değerlendirilmesi sırasında manifestoda ya tutarsızlıklar vardır ya da bazı değerler eksiktir.
Manifest Yolu Hatası Bildirim dosyaları belirli bir klasör yapısına yerleştirilmelidir. Bu etiket, gönderiminizin yolunda bir sorun olduğunu gösterir. Örneğin, klasör yapısı gerekli biçime sahip değildir. Manifestonuzu güncelleyin ve çekme isteğinizi yeniden gönderin.
Bildirim Doğrulama-Hata Gönderilen bildirim bir söz dizimi hatası içeriyor. Bildirimle ilgili söz dizimi sorununu giderin ve yeniden gönderin. Bildirim formatı ve şemasıyla ilgili ayrıntılar için gerekli format kısmına bkz. .
PullRequest-Error Gönderilen tüm dosyalar bildirim klasörü altında olmadığından veya çekme isteğinde birden fazla paket veya sürüm olmadığından çekme isteği geçersiz. Sorunu gidermek için çekme isteğinizi güncelleştirin ve yeniden deneyin.
URL Doğrulama Hatası URL Doğrulama Testi URL'yi bulamadı ve HTTP hata durum koduyla (403 veya 404) yanıt verdi veya URL saygınlık testi başarısız oldu. çekme isteği denetim ayrıntılarına bakaraksöz konusu URL'yi belirleyebilirsiniz. Bu sorunu gidermek için, http hata durum kodunu çözmek için söz konusu URL'leri güncelleştirin. HTTP hata durumu kodundan kaynaklanmıyorsa, itibar kaybını önlemek için URL'yi inceleme için gönderebilirsiniz.
Doğrulama-Defender-Hatası Dinamik test sırasında Microsoft Defender bir sorun bildirdi. Bu sorunu yeniden oluşturmak için uygulamanızı yükleyin ve ardından bir Microsoft Defender tam taraması çalıştırın. Sorunu yeniden oluşturabiliyorsanız ikili dosyayı düzeltin veya yanlış pozitif yardım için analiz gönderin. Sorunu yeniden oluşturamıyorsanız, Windows Paket Yöneticisi mühendislerinin araştırmasını sağlamak için bir açıklama ekleyin.
Doğrulama Alanı Test, InstallerURL beklenen etki alanıyla eşleşmediği durumda etki alanını belirledi. Windows Paket Yöneticisi ilkeleri , InstallerUrl'un doğrudan ISV'nin yayın konumundan gelmesini gerektirir. Eğer bunun yanlış algılama olduğuna inanıyorsanız, Windows Paket Yöneticisi mühendislerinin araştırılmasını sağlamak için pull isteğine bir açıklama ekleyin.
Doğrulama Hatası Windows Paket Yöneticisi'nin doğrulanması el ile onay sırasında başarısız oldu. Sonraki adımlar için ilgili açıklamaya bakın.
doğrulama çalıştırılabilir hata Yükleme testi sırasında, test birincil uygulamayı bulamadı. Uygulamanın tüm platformlarda doğru yüklendiğinden emin olun. Uygulamanız bir uygulama yüklemezse ancak yine de depoya dahil edilmesi gerekiyorsa, Windows Paket Yöneticisi mühendislerinin araştırma yapması için çekme isteğine bir açıklama ekleyin.
Doğrulama-Karma Doğrulama Başarısız Yükleme testi sırasında, InstallerSha256 artık InstallerURL karmasıyla eşleşmediğinden uygulama yüklenemiyor. Uygulama bir özel URL'nin arkasındaysa ve yükleyici InstallerSha256güncellenmeden güncellendiyse bu durum oluşabilir. Bu sorunu gidermek için, InstallerURL ile ilişkili InstallerSha256 değerini güncelleyin ve ardından tekrar gönderin.
Doğrulama-HTTP-Hata Yükleyici için kullanılan URL HTTPS protokolunu kullanmaz. InstallerURL'i HTTPS kullanacak şekilde güncelleyin ve Çekme İsteğini yeniden gönderin.
Doğrulama-Dolaylı-URL URL doğrudan ISV'ler sunucusundan gelmiyor. Test sonucunda bir yeniden yönlendiricinin kullanıldığı belirlendi. Windows Paket Yöneticisi ilkeleri InstallerUrl'un doğrudan ISV'nin yayın konumundan gelmesini gerektirdiğinden buna izin verilmez. Yeniden yönlendirmeyi kaldırın ve yeniden gönderin.
Doğrulama-Yükleme-Hata Bu paketin el ile doğrulanması sırasında genel bir hata oluştu. Sonraki adımlar için ilgili açıklamaya bakın.
Doğrulama-Birleştirme Çakışması Birleştirme çakışması nedeniyle bu paket doğrulanamadı. Lütfen birleşme çatışmasını çözün ve pull request'inizi yeniden gönderin.
Doğrulama-MSIX-Bağımlılık MSIX paketi, çözümlenemeyen bir paket bağımlılığına sahiptir. Paketi eksik bileşenleri içerecek şekilde güncelleştirin veya bağımlılığı bildirim dosyasına ekleyin ve çekme isteğini yeniden gönderin.
doğrulama-onaylanmamış-URL Test, InstallerURL beklenen etki alanıyla eşleşmediği durumda etki alanını belirledi. Windows Paket Yöneticisi ilkeleri , InstallerUrl'un doğrudan ISV'nin yayın konumundan gelmesini gerektirir.
Doğrulama-Katılımsız-Başarısız Yükleme sırasında test zaman aşımına uğradı. Bunun nedeni büyük olasılıkla uygulamanın sessizce yüklenmemesidir. Bunun nedeni, başka bir hatayla karşılaşılması ve testin durdurulması olabilir. Kullanıcı girişi olmadan bildiriminizi yükleyebildiğinizi doğrulayın. Yardıma ihtiyacınız varsa, pull request’e bir yorum ekleyin, Windows Paket Yöneticisi’nin mühendisleri bunu araştıracaktır.
Doğrulama-Kaldırma-Hata Kaldırma testi sırasında, uygulama kaldırma sonrasında tamamen temizlenmedi. Diğer ayrıntılar için ilgili açıklamaya bakın.
Validation-VCRuntime-Dependency Paketin C++ çalışma zamanı üzerinde çözümlenemeyen bir bağımlılığı var. Paketi eksik bileşenleri içerecek şekilde güncelleştirin veya bağımlılığı bildirim dosyasına ekleyin ve çekme isteğini yeniden gönderin.

İçerik ilkesi etiketleri

Aşağıdaki tabloda içerik ilkesi etiketlerilistelenir. Bu etiketlerden biri eklenirse, meta verilerinwindows paket yöneticisi ilkelerine emin olmak için bildirim meta verilerindeki bir şey ek el ile içerik incelemesini tetikledi.

Etiket Ayrıntılar
policy-test-2.1 Bkz. Genel İçerik Gereksinimleri.
policy-test-2.2 adlar, logolar, özgün ve üçüncü taraf dahil olmak üzere içeriğine bakın
policy-test-2.3 Bkz: zarar riski.
Politika-Test-2.4 Bkz. Karalayıcı, İftiracı, Hakkında Yanlış İddialar Bulunan ve Tehdit Edici.
İlke-Test-2.5 Bkz. Rahatsız Edici İçerik.
Politika-Test-2.6 Alkol, Tütün, Silah ve Uyuşturucu bölümüne bakın.
Politika-Test-2.7 Bkz. Yetişkin İçeriği.
Politika-Test-2.8 Bkz. Yasadışı Faaliyet.
İlkesi-Test-2.9 Bkz. Aşırı Küfür ve Uygunsuz İçerik.
policy-test-2.10 Bkz. Ülkeye/Bölgeye Özgü Gereksinimler.
Politika-Test-2.11 Bkz. Yaş Derecelendirmeleri.
policy-test-2.12 Bkz. Kullanıcı Tarafından Oluşturulan İçerik.

İç etiketler

Aşağıdaki tabloda iç hata etiketleri listelenir. Dahili hatalarla karşılaşıldığında, pull request'iniz araştırılması için Windows Paket Yöneticisi mühendislerine atanır.

Etiket Ayrıntılar
İç-Hata-Etki Alanı URL'nin etki alanı doğrulaması sırasında bir hata oluştu.
İç Hata - Dinamik Tarama Yüklü ikili dosyalar doğrulanırken bir hata oluştu.
Anahtar Kelime İlke-İç Hata Bildirim doğrulanırken bir hata oluştu.
İç Hata Bildirimi Bildirim doğrulanırken bir hata oluştu.
Dahili Hata - Mimariler Yok Test uygulamanın mimarisini belirleyemediğinden bir hata oluştu.
İç Hata - Desteklenen Mimariler Yok Geçerli mimari desteklenmediğinden bir hata oluştu.
İç Hata-Çekme Talebi Pull isteği işlenirken bir hata oluştu.
Dahili-Hata-Statik Tarama Yükleyicilerin statik analizi sırasında bir hata oluştu.
İç-Hata URL'si Yükleyicilerin saygınlık doğrulaması sırasında bir hata oluştu.
İç Hata Test geçişi sırasında genel bir hata veya bilinmeyen bir hatayla karşılaşıldı.

İkili doğrulama hatası

Talebinizin doğrulanması, Yükleyici Taraması testi başarısız olursa ve bir İkili Doğrulama-Hatası etiketi alırsa, bu, uygulamanızın tüm ortamlara yüklenemediği anlamına gelir.

Yükleyici tarama testi

Mükemmel bir uygulama yükleme kullanıcı deneyimi sağlamak için Windows Paket Yöneticisi, ortam ne olursa olsun tüm uygulamaların bilgisayarlara hatasız yüklendiğinden emin olmalıdır. Temel testlerden biri, tüm uygulamaların çeşitli popüler virüsten koruma yapılandırmalarında uyarı olmadan yüklendiğinden emin olmaktır. Windows yerleşik Microsoft Defender virüsten koruma programı sağlar, ancak birçok kurumsal müşteri ve kullanıcı diğer virüsten koruma yazılımlarını kullanır.

Windows Paket Yöneticisi Deposuna gönderilen her gönderim birkaç virüsten koruma programı aracılığıyla çalıştırılır. Bu programların tümü , istenmeyebilecek uygulamaları (PUA) ve kötü amaçlı yazılımları tanımlamak için farklı virüs algılama algoritmalarına sahiptir.

İkili doğrulama hatalarını giderme

Bir uygulamanın doğrulaması başarısız olursa, Microsoft önce antivirüs satıcısıyla işaretlenen yazılımın hatalı bir pozitif olup olmadığını doğrulamaya çalışır. Çoğu durumda, bildirim ve doğrulamadan sonra virüsten koruma satıcısı algoritmasını güncelleştirir ve uygulama geçer.

Bazı durumlarda, virüsten koruma satıcısı algılanan kod anomalisinin hatalı pozitif olup olmadığını belirleyemez. Bu durumda, uygulama Windows Paket Yöneticisi deposuna eklenemez. Çekme isteği İkili Doğrulama Hatası etiketiyle reddedildi.

Çekme isteğinizde İkili Doğrulama-Hatası etiketi alırsanız, PUA olarak algılanan kodu kaldırmak için yazılımınızı güncelleyin.

Bazen hata ayıklama ve düşük düzeyli etkinlikler için kullanılan orijinal araçlar, virüsten koruma yazılımına PUA olarak görünür. Bunun nedeni, gerekli hata ayıklama kodunun istenmeyen yazılımlara benzer bir imzaya sahip olmasıdır. Bu kodlama uygulaması yasal olsa da Windows Paket Yöneticisi deposu ne yazık ki bu uygulamalara izin veremiyor.

Gönderim Sorunlarını Giderme

Windows Paket Yöneticisi gönderiminiz başarısız olursa, hatanın nedenini araştırmak için yukarıda açıklanan etiketleri kullanabilirsiniz.

Çekme isteği hatalarını araştırmak için aşağıdaki adımları izleyin:

  1. Web sayfasının alt kısmında bazı denetimlerbaşarılı dizesiyle bir çekme isteği hatası görüntülenir. Başarısız doğrulamanın yanındaki Ayrıntılar bağlantısını seçerek Azure Pipelines sayfasına gidin.

    Çekme isteği hatasının ekran görüntüsü.

  2. Azure Pipelines sayfasında hata yok / uyarı yok bağlantısına tıklayın.

    Azure Pipelines sayfasının ekran görüntüsü.

  3. Sonraki sayfada başarısız olan işi seçin.

    Hata ayrıntılarının ekran görüntüsü.

  4. Sonraki sayfada başarısız olan işin çıktısı gösterilir. Çıkış, bildirimi düzeltmek için yapmanız gereken değişikliği belirlemenize yardımcı olmalıdır.

    Aşağıdaki örnekte, hata Yükleme Doğrulama görevi sırasında oluştu.

    Başarısız iş çıktısının ekran görüntüsü.