Windows Uygulama Sertifikasyon Seti testleri

Windows Uygulama Sertifikasyon Seti, uygulamanızın Microsoft Store'da yayımlanmaya hazır olduğundan emin olmanıza yardımcı olan bir dizi test içerir. Testler aşağıda ölçütleri, ayrıntıları ve hata durumunda önerilen eylemlerle listelenmiştir.

Dağıtım ve başlatma testleri

Uygulamayı sertifika testi sırasında izleyerek çöktüğünde veya donduğunda kaydeder.

Arka plan

Yanıt vermeyen veya kilitlenen uygulamalar, kullanıcının veri kaybetmesine ve kötü bir deneyim yaşamasına neden olabilir.

Uygulamaların Windows uyumluluk modları, AppHelp iletileri veya uyumluluk düzeltmeleri kullanılmadan tamamen işlevsel olmasını bekliyoruz.

Uygulamalar, HKEY-LOCAL-MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit-DLLs kayıt defteri anahtarında yüklenecek DLL'leri listelememelidir.

Test ayrıntıları

Sertifikasyon testi boyunca uygulamanın dayanıklılığını ve kararlılığını test ediyoruz.

Windows Uygulama Sertifikasyon Seti, uygulamaları başlatmak için IApplicationActivationManager::ActivateApplication'ı çağırır. ActivateApplication bir uygulamayı başlatmak için Kullanıcı Hesabı Denetimi (UAC) etkinleştirilmelidir ve ekran çözünürlüğü en az 1024 x 768 veya 768 x 1024 olmalıdır. Herhangi bir koşul karşılanmazsa uygulamanız bu testte başarısız olur.

Düzeltici eylemler

Test bilgisayarında UAC'nin etkinleştirildiğinden emin olun.

Testi yeterince büyük ekranlı bir bilgisayarda çalıştırdığınızdan emin olun.

Uygulamanız başlatılamıyorsa ve test platformunuz ActivateApplicationönkoşullarını karşılarsa, etkinleştirme olay günlüğünü gözden geçirerek sorunu giderebilirsiniz. Olay günlüğünde bu girdileri bulmak için:

  1. eventvwr.exe açın ve Uygulama ve Hizmetler Günlüğü\Microsoft\Windows\Immersive-Shell klasörüne gidin.
  2. Olay Kimliklerini göstermek için görünümü filtreleyin: 5900-6000.
  3. Uygulamanın neden başlatılmadığını açıklayan bilgiler için günlük girdilerini gözden geçirin.

Sorunlu dosyayı inceleyin, sorunu belirleyin ve düzeltin. Uygulamayı yeniden derleyin ve yeniden test edin. Ayrıca, Windows Uygulama Sertifikasyon Seti günlük klasöründe, uygulamanızda hata ayıklamak için kullanılabilecek bir döküm dosyası oluşturulp oluşturulmadığını de kontrol edebilirsiniz.

Platform Sürümü Başlatma Testi

Windows uygulamasının işletim sisteminin gelecekteki bir sürümünde çalışabildiğini denetler. Bu test geçmişte yalnızca Masaüstü uygulaması iş akışına uygulanmıştır, ancak bu artık Mağaza ve Evrensel Windows Platformu (UWP) iş akışları için etkinleştirilmiştir.

Arka plan

İşletim sistemi sürüm bilgileri Microsoft Store için kullanımı kısıtlamıştır. Bu genellikle uygulamalar tarafından işletim sistemi sürümünü denetlemek için yanlış şekilde kullanılır, böylece uygulama kullanıcılara işletim sistemi sürümüne özgü işlevler sağlayabilir.

Test ayrıntıları

Windows Uygulama Sertifikasyon Seti, uygulamanın işletim sistemi sürümünü nasıl denetleyişini algılamak için HighVersionLie'yi kullanır. Uygulama kilitlenirse bu test başarısız olur.

Düzeltici eylem

Uygulamalar bunu denetlemek için Sürüm API'si yardımcı işlevlerini kullanmalıdır. Daha fazla bilgi için bkz. İşletim Sistemi Sürümü .

Arka plan görevlerinin iptali işleyici doğrulaması

Bu, uygulamanın bildirilen arka plan görevleri için bir iptal işleyicisi olduğunu doğrular. Görev iptal edildiğinde çağrılacak ayrılmış bir işlev olması gerekir. Bu test yalnızca dağıtılan uygulamalar için uygulanır.

Arka plan

Mağaza uygulamaları arka planda çalışan bir işlemi kaydedebilir. Örneğin, bir e-posta uygulaması zaman zaman bir sunucuya ping yapabilir. Ancak işletim sisteminin bu kaynaklara ihtiyacı varsa arka plan görevini iptal eder ve uygulamaların bu iptal işlemini düzgün bir şekilde işlemesi gerekir. İptal işleyicisi olmayan uygulamalar, kullanıcı uygulamayı kapatmaya çalıştığında kilitlenebilir veya kapanmayabilir.

Test ayrıntıları

Uygulama başlatılır, askıya alınır ve uygulamanın arka plan dışı bölümü sonlandırılır. Ardından bu uygulamayla ilişkili arka plan görevleri iptal edilir. Uygulamanın durumu denetlendi ve uygulama hala çalışıyorsa bu test başarısız olur.

Düzeltici eylem

İptal işleyicisini uygulamanıza ekleyin. Daha fazla bilgi için bkz . Uygulamanızı arka plan görevleriyle destekleme.

Uygulama sayısı

Bu, bir uygulama paketinin (.msix, .appx veya uygulama paketi) bir uygulama içerdiğini doğrular. Bu, kitte tek başına bir test olacak şekilde değiştirildi.

Arka plan

Bu test, Mağaza ilkesine göre uygulandı.

Test ayrıntıları

Windows Phone 8.1 uygulamaları için test, paketteki toplam .appx paketi sayısının 512 olduğunu < , pakette yalnızca bir ana paket olduğunu ve paketteki ana paketin mimarisinin Arm veya nötr olarak işaretlendiğini doğrular.

Windows 10 uygulamaları için test, paketin sürümündeki düzeltme numarasının 0 olarak ayarlandığını doğrular.

Düzeltici eylem

Test ayrıntıları bölümünde uygulama paketinin ve paketin yukarıdaki gereksinimleri karşıladığından emin olun.

Uygulama bildirimi uyumluluk testi

İçeriklerinin doğru olduğundan emin olmak için uygulama bildiriminin içeriğini test edin.

Arka plan

Uygulamaların doğru biçimlendirilmiş bir uygulama bildirimi olmalıdır.

Test ayrıntıları

İçeriklerin Uygulama paketi gereksinimleriaçıklandığı gibi doğru olduğunu doğrulamak için uygulama bildirimini inceler.

  • Dosya uzantıları ve protokolleri

    Uygulamanız ilişkilendirmek istediği dosya uzantılarını bildirebilir. Yanlış kullanıldığında, bir uygulama çok sayıda dosya uzantısı bildirebilir ve çoğu kullanamayabilir ve bu da kötü bir kullanıcı deneyimine neden olur. Bu test, bir uygulamanın ilişkilendirebileceği dosya uzantısı sayısını sınırlamak için bir denetim ekler.

  • Framework Bağımlılık kuralı

    Bu test, uygulamaların UWP'ye uygun bağımlılıklar alması gereksinimini zorlar. Uygunsuz bir bağımlılık varsa bu test başarısız olur.

    Uygulamanın uygulandığı işletim sistemi sürümü ile yapılan çerçeve bağımlılıkları arasında bir uyuşmazlık varsa, test başarısız olur. Uygulama, çerçeve dll'lerinin herhangi bir önizleme sürümüne başvuruyorsa test de başarısız olur.

  • İşlemler Arası İletişim (IPC) doğrulaması

    Bu test, UWP uygulamalarının uygulama kapsayıcısı dışında Masaüstü bileşenlerine iletişim kurmaması gereksinimini zorunlu kıldığını gösterir. İşlemler arası iletişim yalnızca dışarıdan yüklenen uygulamalara yöneliktir. Adı "DesktopApplicationPath" olan ActivatableClassAttribute öğesini belirten uygulamalar bu testte başarısız olur.

Düzeltici eylem

uygulama bildirimini Uygulama paketi gereksinimleri bölümünde açıklanan gereksinimlere göre gözden geçirin.

Windows Güvenliği özellikleri testi

Arka plan

Varsayılan Windows güvenlik korumalarını değiştirmek müşterileri daha fazla risk altına sokabilir.

Test ayrıntıları

BinScope Binary Analyzerçalıştırarak uygulamanın güvenliğini test eder.

BinScope binary Analyzer testleri, uygulamanın ikili dosyalarını inceleyerek uygulamayı saldırılara karşı daha az savunmasız hale getiren veya saldırı vektöru olarak kullanılan kodlama ve derleme uygulamalarını denetler.

BinScope İkili Çözümleyici testleri, güvenlikle ilgili aşağıdaki özelliklerin doğru kullanımını denetler.

  • BinScope İkili Çözümleyici testleri
  • Özel Kod İmzalama

BinScope İkili Çözümleyici testleri

BinScope binary Analyzer testleri, uygulamanın ikili dosyalarını inceleyerek uygulamayı saldırılara karşı daha az savunmasız hale getiren veya saldırı vektöru olarak kullanılan kodlama ve derleme uygulamalarını denetler.

BinScope İkili Çözümleyici testleri, güvenlikle ilgili bu özelliklerin doğru kullanımını denetler:

AllowPartiallyTrustedCallersAttribute

Windows Uygulama Sertifika Seti hata iletisi: APTCACheck Testi başarısız oldu

AllowPartiallyTrustedCallersAttribute (APTCA) özniteliği, imzalı derlemelerde kısmen güvenilen koddan tam olarak güvenilen koda erişim sağlar. APTCA özniteliğini bir derlemeye uyguladığınızda, kısmen güvenilen arayanlar derlemenin ömrü boyunca bu derlemeye erişebilir ve bu da güvenliği tehlikeye atabilir.

Uygulamanız bu testte başarısız olursa ne yapmalı?

Projeniz bunu gerektirmediği ve riskler iyi anlaşılmadığı sürece güçlü adlandırılmış derlemelerde APTCA özniteliğini kullanmayın. Gerekli olduğu durumlarda, tüm API'lerin uygun kod erişimi güvenlik talepleri ile korunduğundan emin olun. Derleme bir Evrensel Windows Platformu (UWP) uygulamasının parçası olduğunda APTCA'nın hiçbir etkisi yoktur.

Açıklamalar

Bu test yalnızca yönetilen kodda (C#, .NET vb.) gerçekleştirilir.

/SafeSEH Özel Durum İşleme Koruması

Windows Uygulama Sertifika Seti hata iletisi: SafeSEHCheck Testi başarısız oldu

Özel durum işleyicisi, uygulama sıfıra bölme hatası gibi olağanüstü bir koşulla karşılaştığında çalışır. Bir işlev çağrıldığında özel durum işleyicisinin adresi yığında depolandığından, bazı kötü amaçlı yazılımların yığının üzerine yazılması durumunda arabellek taşması saldırganına karşı savunmasız olabilir.

Uygulamanız bu testte başarısız olursa ne yapmalı?

Uygulamanızı oluştururken bağlayıcı komutunda /SAFESEH seçeneğini etkinleştirin. Bu seçenek, Visual Studio'nun Yayın yapılandırmalarında varsayılan olarak açıktır. Uygulamanızdaki tüm yürütülebilir modüller için derleme yönergelerinde bu seçeneğin etkinleştirildiğini doğrulayın.

Açıklamalar

Test, yığında özel durum işleyici adreslerini depolamadığından 64 bit ikili dosyalar veya Arm yonga kümesi ikili dosyaları üzerinde gerçekleştirilmez.

Veri Yürütme Engellemesi

Windows Uygulama Sertifika Seti hata iletisi: NXCheck Testi başarısız oldu

Bu test, bir uygulamanın veri kesiminde depolanan kodu çalıştırmadığını doğrular.

Uygulamanız bu testte başarısız olursa ne yapmalı?

Uygulamanızı oluştururken bağlayıcı komutunda /NXCOMPAT seçeneğini etkinleştirin. Bu seçenek, Veri Yürütme Engellemesi(DEP) destekleyen bağlayıcı sürümlerinde varsayılan olarak açıktır.

Açıklamalar

Uygulamalarınızı DEP özellikli bir CPU üzerinde test edip DEP'ten kaynaklanan hataları düzeltmenizi öneririz.

Adres Uzayı Düzeni Rastgeleleştirme

Windows Uygulama Sertifika Seti hata iletisi: DBCheck Testi başarısız oldu

Adres Alanı Düzeni Rastgele Hale Getirme (ASLR), yürütülebilir görüntüleri bellekteki öngörülemeyen konumlara yükler ve bu da belirli bir sanal adrese program yüklenmesini bekleyen kötü amaçlı yazılımların tahmin edilebilir şekilde çalıştırılmasını zorlaştırır. Uygulamanız ve uygulamanızın kullandığı tüm bileşenler ASLR'i desteklemelidir.

Uygulamanız bu testte başarısız olursa ne yapmalı?

Uygulamanızı oluştururken bağlayıcı komutunda /DYNAMICBASE seçeneğini etkinleştirin. Uygulamanızın kullandığı tüm modüllerin de bu bağlayıcı seçeneğini kullandığını doğrulayın.

Açıklamalar

Normalde ASLR performansı etkilemez. Ancak bazı senaryolarda 32 bit sistemlerde hafif bir performans artışı söz konusudur. Birçok farklı bellek konumuna yüklenmiş çok sayıda görüntü bulunan yüksek oranda tıkanık bir sistemde performansın düşmesi mümkündür.

Bu test yalnızca C veya C++ gibi yönetilmeyen dillerde yazılmış uygulamalarda gerçekleştirilir.

Paylaşılan PE Bölümünü Okuma/Yazma

Windows Uygulama Sertifika Seti hata iletisi: SharedSectionsCheck Test başarısız oldu.

Paylaşılabilen olarak işaretlenmiş olan yazılabilir bölümleri içeren ikili dosyalar bir güvenlik tehdididir. Gerekli olmadıkça paylaşılan yazılabilir bölümlere sahip uygulamalar oluşturmayın. Düzgün güvenli bir paylaşılan bellek nesnesi oluşturmak için CreateFileMapping veya MapViewOfFile kullanın.

Uygulamanız bu testte başarısız olursa ne yapmalı?

Uygulamadan paylaşılan bölümleri kaldırın ve CreateFileMapping veya MapViewOfFile'ı uygun güvenlik öznitelikleriyle çağırıp uygulamanızı yeniden derleyerek paylaşılan bellek nesneleri oluşturun.

Açıklamalar

Bu test yalnızca C veya C++ gibi yönetilmeyen dillerde yazılmış uygulamalarda gerçekleştirilir.

UygulamaKapsayıcıKontrolü

Windows Uygulama Sertifika Seti hata iletisi: AppContainerCheck Test başarısız oldu.

AppContainerCheck, yürütülebilir binary dosyasının taşınabilir yürütülebilir (PE) üst bilgisindeki appcontainer bitinin ayarlandığını doğrular. Uygulamaların düzgün yürütülebilmesi için tüm .exe dosyalarında ve tüm yönetilmeyen DLL'lerde appcontainer biti ayarlanmış olmalıdır.

Uygulamanız bu testte başarısız olursa ne yapmalı?

Yerel yürütülebilir dosya testi başarısız olursa, dosyayı derlemek için en son derleyiciyi ve bağlayıcıyı kullandığınızdan ve bağlayıcıda /appcontainer bayrağını kullandığınızdan emin olun.

Yönetilen yürütülebilir dosya testi başarısız olursa, UWP uygulamasını derlemek için Microsoft Visual Studio gibi en son derleyiciyi ve bağlayıcıyı kullandığınızdan emin olun.

Açıklamalar

Bu test tüm .exe dosyalarında ve yönetilmeyen DLL'lerde gerçekleştirilir.

Yürütülebilir İthalatlar Kontrolü

Windows Uygulama Sertifika Seti hata iletisi: ExecutableImportsCheck Testi başarısız oldu.

taşınabilir yürütülebilir (PE) görüntüsü, içeri aktarma tablosu yürütülebilir kod bölümüne yerleştirilmişse bu testte başarısız olur. Bu durum, Visual C++ bağlayıcısının /merge bayrağını /merge:.rdata=.text olarak ayarlayarak PE görüntüsü için .rdata birleştirmeyi etkinleştirdiyseniz oluşabilir.

Uygulamanız bu testte başarısız olursa ne yapmalı?

İçeri aktarma tablosunu yürütülebilir kod bölümüyle birleştirmeyin. Visual C++ bağlayıcısının /merge bayrağının ".rdata" bölümünü bir kod bölümüyle birleştirecek şekilde ayarlanmadığından emin olun.

Açıklamalar

Bu test, yalnızca yönetilen derlemeler dışında tüm ikili kodlarda gerçekleştirilir.

WXCheck

Windows Uygulama Sertifika Seti hata iletisi: WXCheck Testi başarısız oldu.

Bu denetim, bir ikili dosyanın yazılabilir ve yürütülebilir olarak eşlenmiş herhangi bir sayfası olmadığından emin olmanıza yardımcı olur. Bu durum, ikili dosyanın yazılabilir ve yürütülebilir bir bölümü varsa veya ikili dosyanın SectionAlignmentPAGE-SIZEdeğerinden küçükse oluşabilir.

Uygulamanız bu testte başarısız olursa ne yapmalı?

İkilinin yazılabilir veya yürütülebilir bir bölümüne sahip olmadığından ve ikilinin SectionAlignment değerinin en azından PAGE-SIZE değerine eşit olduğundan emin olun.

Açıklamalar

Bu test tüm .exe dosyalarında ve yerel, yönetilmeyen DLL'lerde gerçekleştirilir.

Yürütülebilir dosya, Düzenle ve Devam Et (/ZI) etkin olarak oluşturulmuşsa yazılabilir ve yürütülebilir bir bölüme sahip olabilir. Düzenle ve Devam Et'in devre dışı bırakılması geçersiz bölümün mevcut olmamasına neden olur.

Yürütülebilir dosyalar için varsayılan SectionAlignment, PAGE-SIZE'dır.

Özel Kod İmzalama

Uygulama paketi içinde özel kod imzalama ikililerinin varlığını test eder.

Arka plan

Gizliliği ihlal edilmesi durumunda kötü amaçlı olarak kullanabilecekleri için özel kod imzalama dosyaları özel tutulmalıdır.

Test ayrıntıları

Özel imzalama anahtarlarının dahil olduğunu gösterecek .pfx veya.snk uzantısına sahip uygulama paketindeki dosyalar için testler.

Düzeltici eylemler

Paketten tüm özel kod imzalama anahtarlarını (örneğin, .pfx ve .snk dosyaları) kaldırın.

Desteklenen API testi

Uygulamayı uyumlu olmayan API'lerin kullanımı için test edin.

Arka plan

Uygulamaların Microsoft Store için sertifikalanması için UWP uygulamalarının (Windows Çalışma Zamanı veya desteklenen Win32 API'leri) API'lerini kullanması gerekir. Bu test ayrıca yönetilen ikilinin onaylanan profilin dışındaki bir işleve bağımlılık aldığı durumları da tanımlar.

Test ayrıntıları

  • uygulama paketindeki her ikili dosyanın, ikili dosyanın içeri aktarma adresi tablosunu denetleyerek UWP uygulama geliştirme için desteklenmeyen bir Win32 API'sine bağımlılığı olmadığını doğrular.
  • Uygulama paketindeki her yönetilen ikilinin, onaylanan profilin dışındaki bir işleve bağımlılığı olmadığını doğrular.

Düzeltici eylemler

Uygulamanın hata ayıklama derlemesi değil yayın derlemesi olarak derlendiğinden emin olun.

Not Uygulamanın hata ayıklama derlemesi, uygulama yalnızca UWP uygulamaları için API'ler kullansa bile bu testte başarısız olur.

UygulamanınUWP uygulamaları için API olmayan API'yi tanımlamak için hata iletilerini gözden geçirin.

Not Hata ayıklama yapılandırmasında yerleşik olarak bulunan C++ uygulamaları, yapılandırma yalnızca UWP uygulamaları için Windows SDK'sından API'ler kullansa bile bu testte başarısız olur. Daha fazla bilgi için, "UWP uygulamalarında Windows API'lerine alternatifler" başlıklı bölüme bakın .

Performans testleri

Uygulama, hızlı ve akıcı bir kullanıcı deneyimi sunmak için kullanıcı etkileşimine ve sistem komutlarına hızlı bir şekilde yanıt vermelidir.

Testin yapıldığı bilgisayarın özellikleri test sonuçlarını etkileyebilir. Uygulama sertifikasyonu için performans testi eşikleri, düşük güçlü bilgisayarlar müşterinin hızlı ve akıcı bir deneyim beklentisini karşılayacak şekilde ayarlanır. Uygulamanızın performansını belirlemek için, ekran çözünürlüğü 1366x768 (veya üzeri) olan Intel Atom işlemci tabanlı bilgisayar ve döner sabit sürücü (katı hal sabit sürücüsünün aksine) gibi düşük güçlü bir bilgisayarda test yapmanızı öneririz.

Bayt kodu oluşturma

JavaScript yürütme süresini hızlandırmak için performans iyileştirmesi olarak, .js uzantısıyla biten JavaScript dosyaları, uygulama dağıtıldığında bayt kodu oluşturur. Bu, JavaScript işlemleri için başlatma ve devam eden yürütme sürelerini önemli ölçüde artırır.

Test Ayrıntıları

Tüm .js dosyalarının bayt koduna dönüştürüldüğünü doğrulamak için uygulama dağıtımını denetler.

Düzeltici Eylem

Bu test başarısız olursa sorunu giderirken aşağıdakileri göz önünde bulundurun:

  • Olay günlüğünün etkinleştirildiğini doğrulayın.
  • Tüm JavaScript dosyalarının söz dizimsel olarak geçerli olduğunu doğrulayın.
  • Uygulamanın önceki tüm sürümlerinin kaldırıldığını onaylayın.
  • Tanımlanan dosyaları uygulama paketinden hariç tutun.

İyileştirilmiş bağlayıcı referanslar

Bağlamaları kullanırken, bellek kullanımını iyileştirmek için WinJS.Binding.optimizeBindingReferences true olarak ayarlanmalıdır.

Test Ayrıntıları

WinJS.Binding.optimizeBindingReferences değerini doğrulayın.

Düzeltici Eylem

JavaScript uygulamasında WinJS.Binding.optimizeBindingReferences değerini true olarak ayarlayın.

Uygulama bildirim kaynakları testi

Uygulama kaynakları doğrulaması

Uygulamanızın bildiriminde bildirilen dizeler veya görüntüler yanlışsa uygulama yüklenmeyebilir. Uygulama bu hatalarla yüklenirse, uygulamanızın logosu veya uygulamanız tarafından kullanılan diğer resimler düzgün görüntülenmeyebilir.

Test Ayrıntıları

Mevcut ve geçerli olduklarından emin olmak için uygulama bildiriminde tanımlanan kaynakları inceler.

Düzeltici Eylem

Kılavuz olarak aşağıdaki tabloyu kullanın.

Hata mesajıYorumlar

{image name} görüntüsü hem Scale hem de TargetSize niteleyicilerini tanımlar; bir kerede yalnızca bir niteleyici tanımlayabilirsiniz.

Görüntüleri farklı çözünürlükler için özelleştirebilirsiniz.

Gerçek iletide, {image name}, hatayla birlikte görüntünün adını içeriyor.

Her görüntünün, *Scale* veya *TargetSize*'i niteleyici olarak tanımladığından emin olun.

Resim {image name} boyut kısıtlamalarına uygun değil.

Tüm uygulama görüntülerinin uygun boyut kısıtlamalarına uydığından emin olun.

Gerçek iletide, {image name}, hatayla birlikte görüntünün adını içeriyor.

{image name} adlı resim pakette mevcut değil.

Gerekli bir görüntü eksik.

Gerçek iletide, {image name}, eksik olan görüntünün adını içeriyor.

{image name} resmi geçerli bir görüntü dosyası değil.

Tüm uygulama görüntülerinin uygun dosya biçimi türü kısıtlamalarına uydığından emin olun.

Gerçek iletide, {image name} geçerli olmayan görüntünün adını içeriyor.

"BadgeLogo" resminin konumunda (x, y) geçerli olmayan bir ABGR değeri {value} var. Piksel beyaz (##FFFFFF) veya saydam (00######) olmalıdır

Rozet logosu, kilit ekranında uygulamayı tanımlamak için rozet bildiriminin yanında görünen bir resimdir. Bu görüntü tek renkli olmalıdır (yalnızca beyaz ve saydam pikseller içerebilir).

Gerçek iletide, {value} resimdeki geçerli olmayan renk değerini içeriyor.

"BadgeLogo" adlı resmin, (x, y) konumunda yüksek kontrastlı beyaz bir görüntü için geçersiz bir {value} ABGR değeri var. Piksel (##2A2A2A) veya daha koyu veya saydam (00######) olmalıdır.

Rozet logosu, kilit ekranında uygulamayı tanımlamak için rozet bildiriminin yanında görünen bir resimdir. Rozet logosu, yüksek kontrast beyaz modunda beyaz bir arka planda göründüğünden, normal rozet logosunun koyu bir sürümü olmalıdır. Yüksek karşıtlıkta beyaz renkte, rozet logosu yalnızca (##2A2A2A)'den daha koyu veya saydam pikseller içerebilir.

Gerçek iletide, {value} resimdeki geçerli olmayan renk değerini içeriyor.

Görüntünün TargetSize niteleyicisi olmayan en az bir değişken tanımlaması gerekir. Bir Ölçek niteleyici tanımlamalı veya Ölçek ve Hedef Boyutu belirtilmemiş bırakmalıdır ki bu durumda varsayılan olarak Ölçek-100 olur.

Daha fazla bilgi için bkz . UWP uygulamaları için duyarlı tasarım 101 ve Uygulama kaynakları için yönergeler.

Pakette "resources.pri" dosyası eksik.

Uygulama bildiriminizde yerelleştirilebilir içerik varsa, uygulamanızın paketinde geçerli bir resources.pri dosyası bulunduğundan emin olun.

"resources.pri" dosyası, {paket tam adı} ile eşleşen bir adı olan bir kaynak eşlemesi içermelidir.

Bildirim değiştiyse ve resources.pri dosyasındaki kaynak eşlemesinin adı artık bildirimdeki paket adıyla eşleşmiyorsa bu hatayı alabilirsiniz.

Gerçek iletide, {package full name}, resources.pri dosyasının içermesi gereken paket adını içeriyor.

Bunu düzeltmek için resources.pri dosyasını yeniden oluşturmanız gerekir ve bunu yapmanın en kolay yolu uygulamanın paketini yeniden derlemektir.

"resources.pri" dosyasında AutoMerge etkinleştirilmemiş olmalıdır.

MakePRI.exe Otomatik Birleştir adlı bir seçeneği destekler. Otomatik Birleştirme varsayılan değeri kapalı. Etkinleştirildiğinde, AutoMerge bir uygulamanın dil paketi kaynaklarını çalışma zamanında tek bir resources.pri ile birleştirir. Bunu Microsoft Store üzerinden dağıtmayı planladığınız uygulamalar için önermiyoruz. Microsoft Store aracılığıyla dağıtılan bir uygulamanın resources.pri dosyasının uygulama paketinin kökünde olması ve uygulamanın desteklediği tüm dil başvurularını içermesi gerekir.

{string} dizesi en fazla {number} karakter uzunluk kısıtlamasını yapamadı.

Uygulama paketi gereksinimlerine bakın.

Gerçek iletide, {string} hatayı içeren dizeyle değiştirilir ve {number} maksimum uzunluğu içerir.

{string} dizesinin başında/sonunda boşluk olmamalıdır.

Uygulama bildirimindeki öğelerin şeması, baştaki veya sondaki boşluk karakterlerine izin vermez.

Gerçek iletide, {string} hatalı olan dize ile değiştirilir.

resources.pri dosyasındaki bildirim alanlarının yerelleştirilmiş değerlerinden hiçbirinin başında veya sonunda boşluk karakteri bulunmadığından emin olun.

Dize boş olmamalı, uzunluğu sıfırdan büyük olmalıdır.

Daha fazla bilgi için bkz. Uygulama paketi gereksinimleri.

"resources.pri" dosyasında belirtilen varsayılan kaynak yok.

Daha fazla bilgi için bkz. Uygulama kaynakları için yönergeler.

Varsayılan derleme yapılandırmasında Visual Studio, paket oluştururken uygulama paketinde yalnızca scale-200 görüntü kaynaklarını içerir ve diğer kaynakları kaynak paketine ekler. Projeye scale-200 görüntü kaynaklarını eklediğinizden veya mevcut kaynaklarınızı içerecek şekilde yapılandırdığınızdan emin olun.

"resources.pri" dosyasında belirtilen kaynak değeri yok.

Uygulama bildiriminde resources.pri dosyasında tanımlanmış geçerli kaynaklar olduğundan emin olun.

{filename} görüntü dosyası 204800 bayttan küçük olmalıdır.\*\*

Belirtilen görüntülerin boyutunu küçültün.

{filename} dosyası ters eşleme bölümü içermemelidir.\*\*

Ters haritalama, makepri.exe'a çağrılırken Visual Studio 'F5 hata ayıklaması' sırasında oluşturulsa da, pri dosyası oluşturulurken /m parametresi olmadan makepri.exe çalıştırılarak kaldırılabilir.

\*\* Windows 8.1 için Windows Uygulama Sertifikasyon Seti 3.3'e bir test eklendiğini ve yalnızca setin veya sonraki bir sürümün kullanıldığı durumlarda geçerli olduğunu gösterir.

 

Marka doğrulama

UWP uygulamalarının eksiksiz ve tam işlevsel olması beklenir. Varsayılan görüntüleri kullanan uygulamalar (şablonlardan veya SDK örneklerinden) kötü bir kullanıcı deneyimi sunar ve mağaza kataloğunda kolayca tanımlanamaz.

Test Ayrıntıları

Test, uygulama tarafından kullanılan görüntülerin SDK örneklerinden veya Visual Studio'dan gelen varsayılan görüntüler olmadığını doğrular.

Düzeltici eylemler

Varsayılan görüntüleri uygulamanızın daha farklı ve temsili bir değerle değiştirin.

Hata ayıklama yapılandırma testi

Hata ayıklama derlemesi olmadığından emin olmak için uygulamayı test edin.

Arka plan

Microsoft Store sertifikasına sahip olmak için uygulamaların hata ayıklama için derlenmemesi ve yürütülebilir dosyanın hata ayıklama sürümlerine başvurmamaları gerekir. Buna ek olarak, kodunuzu uygulamanızın bu testi geçebilmesi için iyileştirilmiş olarak oluşturmanız gerekir.

Test ayrıntıları

Hata ayıklama derlemesi olmadığından ve herhangi bir hata ayıklama çerçevesine bağlı olmadığından emin olmak için uygulamayı test edin.

Düzeltici eylemler

  • Uygulamayı Microsoft Store'a göndermeden önce yayın derlemesi olarak oluşturun.
  • .NET Framework'ün doğru sürümünü yüklediğinizden emin olun.
  • Uygulamanın bir framework'ün hata ayıklama sürümlerine bağlı olmadığından ve bir sürüm versiyonuyla derlendiğinden emin olun. Bu uygulama .NET bileşenleri içeriyorsa, .NET framework'ün doğru sürümünü yüklediğinizden emin olun.

Dosya kodlama testi

UTF-8 dosya kodlaması

Arka plan

HTML, CSS ve JavaScript dosyaları, bayt kodu önbelleğe alma özelliğinden yararlanmak ve belirli çalışma zamanı hata koşullarından kaçınmak için UTF-8 biçiminde karşılık gelen bayt sırası işaretiyle (BOM) kodlanmalıdır.

Test ayrıntıları

Doğru dosya kodlamasını kullandıklarından emin olmak için uygulama paketlerinin içeriğini test edin.

Düzeltici Eylem

Etkilenen dosyayı açın ve Visual Studio'daki Dosya menüsünden Farklı Kaydet öğesini seçin. Kaydet düğmesinin yanındaki açılır denetimi seçin veile Kodlama İle Kaydet'i seçin. Gelişmiş kaydetme seçenekleri iletişim kutusunda Unicode (imzalı UTF-8) seçeneğini belirleyin ve Tamam'a tıklayın.

Direct3D özellik düzeyi testi

Direct3D özellik düzeyi desteği

Microsoft Direct3D uygulamalarını, eski grafik donanımına sahip cihazlarda kilitlenmemesini sağlamak için test eder.

Arka plan

Microsoft Store, Direct3D kullanan tüm uygulamaların, özellik düzeyi 9-1 grafik kartlarında düzgün bir şekilde işlenmesini veya zarif bir şekilde başarısız olmasını gerektirir.

Kullanıcılar, uygulama yüklendikten sonra cihazlarında grafik donanımlarını değiştirebildiğinden, 9-1'den yüksek bir en düşük özellik düzeyi seçerseniz, uygulamanızın geçerli donanımın en düşük gereksinimleri karşılayıp karşılamadığını başlatma sırasında algılaması gerekir. En düşük gereksinimler karşılanmazsa, uygulamanın kullanıcıya Direct3D gereksinimlerini ayrıntılı olarak gösteren bir ileti görüntülemesi gerekir. Ayrıca, bir uygulama uyumlu olmayan bir cihaza indirilirse, başlatma sırasında bunu algılamalı ve müşteriye gereksinimleri ayrıntılı olarak belirten bir ileti görüntülemelidir.

Test Ayrıntıları

Test, uygulamaların özellik düzeyi 9-1'de doğru şekilde işlenip işlenmediğini doğrular.

Düzeltici Eylem

Uygulamanızın daha yüksek bir özellik düzeyinde çalışmasını bekleseniz bile Direct3D özellik düzeyi 9-1'de doğru şekilde çalıştığından emin olun. Daha fazla bilgi için bkz. Farklı Direct3D özellik düzeyleri için geliştirme .

Askıya Alındıktan Sonra Direct3D Trim

Not Bu test yalnızca Windows 8.1 ve üzeri için geliştirilen UWP uygulamaları için geçerlidir.

Arka plan

Uygulama Direct3D cihazında Trim'ü çağırmazsa, önceki 3B çalışması için ayrılan belleği serbest bırakmaz. Bu, sistem belleği baskısı nedeniyle uygulamaların sonlandırılma riskini artırır.

Test Ayrıntıları

Uygulamaların d3d gereksinimleriyle uyumlu olup olmadığını denetler ve uygulamaların Askıya alma geri çağrısı sırasında yeni bir Trim API'sini çağırdığından emin olur.

Düzeltici Eylem

Uygulama, askıya alınmak üzere olduğunda IDXGIDevice3 arabiriminde Trim API'sini çağırmalıdır.

Uygulama Özellikleri testi

Özel kullanım özellikleri

Arka plan

Özel kullanım özellikleri çok özel senaryolara yöneliktir. Yalnızca şirket hesaplarının bu özellikleri kullanmasına izin verilir.

Test Ayrıntıları

Uygulamanın aşağıdaki özelliklerden herhangi birini bildirip bildirmediğini doğrulayın:

  • Kurumsal Kimlik Doğrulama
  • Paylaşılan Kullanıcı Sertifikaları
  • Belgeler Kitaplığı

Bu özelliklerden herhangi biri bildirilirse, test kullanıcıya bir uyarı görüntüler.

Düzeltici Eylemler

Uygulamanız gerektirmiyorsa özel kullanım özelliğini kaldırmayı göz önünde bulundurun. Ayrıca, bu özelliklerin kullanımı ek yerleştirme politikası değerlendirmesine tabidir.

Windows Çalışma Zamanı metaveri doğrulaması

Arka plan

Bir uygulamada gelen bileşenlerin Windows Çalışma Zamanı türü sistemine uygun olmasını sağlar.

Test Ayrıntıları

Paketteki .winmd dosyalarının Windows Çalışma Zamanı kurallarına uygun olduğunu doğrular.

Düzeltici Eylemler

  • ExclusiveTo öznitelik testi: Windows Çalışma Zamanı sınıflarının Başka bir sınıfa ExclusiveTo olarak işaretlenmiş arabirimler uygulamadığından emin olun.
  • Tür konumu testi: Tüm Windows Çalışma Zamanı türlerinin meta verilerinin, uygulama paketinde ad alanıyla eşleşen en uzun ada sahip winmd dosyasında bulunduğundan emin olun.
  • Tür adı büyük/küçük harf duyarlılığı testi: Tüm Windows Çalışma Zamanı türlerinin uygulama paketinizde benzersiz, büyük/küçük harfe duyarlı olmayan adlara sahip olduğundan emin olun. Ayrıca uygulama paketinizde ad alanı adı olarak hiçbir UWP türü adının kullanılmadığından da emin olun.
  • Tür adı doğruluk testi: Genel ad alanında veya Windows üst düzey ad alanında Windows Çalışma Zamanı türü olmadığından emin olun.
  • Genel meta veri doğruluk testi: Türlerinizi oluşturmak için kullandığınız derleyicinin Windows Çalışma Zamanı belirtimleriyle güncel olduğundan emin olun.
  • Özellikler testi: Bir Windows Çalışma Zamanı sınıfındaki tüm özelliklerin bir get yöntemine sahip olduğundan emin olun (set yöntemleri isteğe bağlıdır). Get yöntemi dönüş değerinin türünün, Windows Çalışma Zamanı türlerinde tüm özellikler için ayarlanan yöntem giriş parametresinin türüyle eşleştiğinden emin olun.

Paket Sanity testleri

Platforma uygun dosyalar testi

Karma ikili dosyaları yükleyen uygulamalar, kullanıcının işlemci mimarisine bağlı olarak kilitlenebilir veya düzgün çalışmayabilir.

Arka plan

Bu test, bir uygulama paketindeki ikili dosyaları mimari çakışmaları için doğrular. Uygulama paketi, bildirimde belirtilen işlemci mimarisinde kullanılamayan ikili dosyalar içermemelidir. Desteklenmeyen ikili dosyalar dahil olmak, uygulamanızın kilitlenmesine veya uygulama paketi boyutunun gereksiz bir şekilde artmasına neden olabilir.

Test Ayrıntıları

Uygulama paketi işlemci mimarisi bildirimi ile çapraz kontrol edildiğinde, PE başlığındaki her dosyanın "bitlik" durumunun uygun olduğunu doğrular.

Düzeltici Eylem

Uygulama paketinizin yalnızca uygulama bildiriminde belirtilen mimari tarafından desteklenen dosyaları içerdiğinden emin olmak için şu yönergeleri izleyin:

  • Uygulamanızın Hedef İşlemci Mimarisi Nötr işlemci Türü ise, uygulama paketi x86, x64 veya Arm ikili veya görüntü türü dosyaları içeremez.

  • Uygulamanızın Hedef İşlemci Mimarisi x86 işlemci türündeyse, uygulama paketi yalnızca x86 ikili veya görüntü türü dosyaları içermelidir. Paket x64 veya Arm ikili veya görüntü türleri içeriyorsa test başarısız olur.

  • Uygulamanızın Hedef İşlemci Mimarisi x64 işlemci türündeyse, uygulama paketi x64 ikili veya görüntü türü dosyaları içermelidir. Bu durumda paketin x86 dosyalarını da içerebileceğini, ancak birincil uygulama deneyiminin x64 ikili dosyasını kullanması gerektiğini unutmayın.

    Ancak paket Arm ikili veya görüntü türü dosyaları içeriyorsa ya da yalnızca x86 ikili dosyalar veya görüntü türü dosyaları içeriyorsa, test başarısız olur.

  • Uygulamanızın Hedef İşlemci Mimarisi Arm işlemci türüyse, uygulama paketi yalnızca Arm ikili veya görüntü türü dosyalarını içermelidir. Paket x64 veya x86 ikili veya görüntü türü dosyaları içeriyorsa, test başarısız olur.

Desteklenen Dizin Yapısı testi

Uygulamaların yüklemenin bir parçası olarak MAX-PATH'den daha uzun alt dizinler oluşturmadığını doğrular.

Arka plan

İşletim sistemi bileşenleri (Trident, WWAHost vb.) dahili olarak dosya sistemi yolları için MAX-PATH sınırlıdır ve daha uzun yollar için düzgün çalışmaz.

Test Ayrıntıları

Uygulama yükleme dizinindeki hiçbir yolun MAX-PATH'i aşmadığını doğrular.

Düzeltici Eylem

Daha kısa bir dizin yapısı ve veya dosya adı kullanın.

Kaynak Kullanımı testi

WinJS Arka Plan Görev testi

WinJS arka plan görev testi, JavaScript uygulamalarının pil tüketmemesi için uygun kapanış deyimlerine sahip olmasını sağlar.

Arka plan

JavaScript arka plan görevleri olan uygulamaların, arka plan görevlerinde son deyim olarak Close() çağrısı yapmaları gerekir. Bunu yapmayan uygulamalar, sistemin bağlı bekleme moduna dönmesini engelleyebilir ve pilin tükenmesine neden olabilir.

Test Ayrıntıları

Uygulamada bildirimde belirtilen bir arka plan görev dosyası yoksa test geçer. Aksi takdirde test, uygulama paketinde belirtilen JavaScript arka plan görev dosyasını ayrıştıracak ve close() deyimini arayacaktır. Bulunursa, test geçer; aksi takdirde test başarısız olur.

Düzeltici Eylem

Close() öğesini doğru şekilde çağırmak için arka plan JavaScript kodunu güncelleştirin.