Uygulama bildirimleri
Uygulama bildirimi (yan yana uygulama bildirimi veya fusion bildirimi olarak da bilinir), bir uygulamanın çalışma zamanında bağlanması gereken paylaşılan ve özel yan yana derlemeleri açıklayan ve tanımlayan bir XML dosyasıdır. Bunlar, uygulamayı test etmek için kullanılan derleme sürümleriyle aynı olmalıdır. Uygulama bildirimleri, uygulamaya özel dosyalar için meta verileri de açıklayabilir.
XML şemasının tam listesi için bkz. Bildirim dosyası şeması.
Uygulama bildirimleri aşağıdaki öğelere ve özniteliklere sahiptir.
Öğe | Öznitelik | Gerekli |
---|---|---|
derleme | Evet | |
manifestVersion | Evet | |
noInherit | Hayır | |
assemblyIdentity | Evet | |
türü | Evet | |
ad | Evet | |
dil | Hayır | |
processorArchitecture | Hayır | |
sürüm | Evet | |
publicKeyToken | Hayır | |
uyumluluk | Hayır | |
uygulama | Hayır | |
desteklenen OS | Hayır | |
Kimliği | Evet | |
maxversiontested | Hayır | |
Kimliği | Evet | |
bağımlılık | Hayır | |
dependentAssembly | Hayır | |
dosya | Hayır | |
ad | Evet | |
Hayır | ||
karma | Hayır | |
activatableClass | Hayır | |
ad | Evet | |
threadingModel | Evet | |
activeCodePage | Hayır | |
autoElevate | Hayır | |
devre dışıTheming | Hayır | |
WindowFiltering devre dışı bırakma | Hayır | |
dpiAware | Hayır | |
dpiAwareness | Hayır | |
gdiScaling | Hayır | |
highResolutionScrollingAware | Hayır | |
longPathAware | Hayır | |
printerDriverIsolation | Hayır | |
ultraHighResolutionScrollingAware | Hayır | |
msix | Hayır | |
heapType | Hayır | |
desteklenenArchitectures | Hayır | |
trustInfo | Hayır |
Dosya konumu
Mümkünse, uygulama bildirimini uygulamanızın .exe
dosyasına veya .dll
kaynak olarak eklemelisiniz. Bunu yapamazsanız, uygulama bildirim dosyasını .exe
veya .dll
ile aynı dizine yerleştirebilirsiniz.
Daha fazla bilgi için bkz. yan yana derlemeleri yükleme.
Dosya adı
Kural gereği bir uygulama bildirimi, uygulamanızın yürütülebilir dosyasıyla aynı ada sahip olmalı ve sonuna .manifest
uzantısı eklenmelidir.
Örneğin, example.exe
veya example.dll
başvuran bir uygulama bildirimi aşağıdaki dosya adı söz dizimini kullanmalıdır (kaynak kimliği 1 ise, söz diziminin <kaynak kimliğini> kesimini atlayabilirsiniz).
example.exe. .manifest>kaynak kimliğini<
example.dll. .manifest>kaynak kimliğini<
Öğe
Öğelerin ve özniteliklerin adları büyük/küçük harfe duyarlıdır. Öğelerin ve özniteliklerin değerleri, tür özniteliğinin değeri dışında büyük/küçük harfe duyarlı değildir.
meclis
Kapsayıcı öğesi. İlk alt öğesi noInherit veya assemblyIdentity öğesi olmalıdır. Gerekli.
derleme öğesi urn:schemas-microsoft-com:asm.v1
ad alanında olmalıdır. Derlemenin alt öğeleri de devralma veya etiketleme yoluyla bu ad alanında olmalıdır.
derleme öğesi aşağıdaki özniteliklere sahiptir.
Öznitelik | Açıklama |
---|---|
manifestVersion |
manifestVersion özniteliği 1.0 olarak ayarlanmalıdır. |
noInherit
"Devralma yok" bayrağıyla bildirimden oluşturulan etkinleştirme bağlamlarını ayarlamak için bu öğeyi bir uygulama bildirimine ekleyin. Bu bayrak bir etkinleştirme bağlamında ayarlanmadığında ve etkinleştirme bağlamı etkin olduğunda, aynı işlemdeki yeni iş parçacıkları tarafından devralınır, pencereler, pencere yordamları ve Zaman Uyumsuz Yordam Çağrıları. Bu bayrağın ayarlanması, yeni nesnenin etkin bağlamı devralmasını engeller.
noInherit öğesi isteğe bağlıdır ve genellikle atlanır. Derlemenin kendi etkinleştirme bağlamının yayılmasını yönetmek için açıkça tasarlanması gerektiğinden çoğu derleme devralınmayan etkinleştirme bağlamı kullanılarak düzgün çalışmaz. noInherit öğesinin kullanılması, uygulama bildirimi tarafından başvuruda bulunu bağımlı derlemelerin derleme bildiriminde noInherit öğesininolmasını gerektirir.
noInherit bir bildirimde kullanılıyorsa, derleme öğesinin ilk alt öğesi olmalıdır. assemblyIdentity öğesi noInherit öğesi hemen sonra gelmelidir. noInherit kullanılmazsa, assemblyIdentityderleme öğesinin ilk alt öğesi olmalıdır. noInherit öğesi alt öğe içermiyor. derleme bildirimlerinde geçerli bir öğe değildir.
assemblyIdentity
derleme öğesinin ilk alt öğesi olarak, assemblyIdentity bu uygulama bildirimine sahip uygulamayı açıklar ve benzersiz olarak tanımlar. dependentAssembly öğesinin ilk alt öğesi olarak, assemblyIdentity uygulama için gereken yan yana derlemeyi açıklar. Uygulama bildiriminde başvuruda bulunılan her derlemenin, başvuruda bulunan derlemenin kendi derleme bildirimindeki assemblyIdentity tam olarak eşleşen bir assemblyIdentity gerektirdiğini unutmayın.
assemblyIdentity öğesi aşağıdaki özniteliklere sahiptir. Alt öğesi yok.
Öznitelik | Açıklama |
---|---|
türü | Uygulama veya derleme türünü belirtir. Değerin win32 ve küçük harfle tümü olmalıdır. Gerekli. |
ad | Uygulamayı veya derlemeyi benzersiz olarak adlandırın. Ad için şu biçimi kullanın: Organization.Division.Name . Örneğin Microsoft.Windows.mysampleApp . Gerekli. |
dil | Uygulamanın veya derlemenin dilini tanımlar. Uygulama veya derleme dile özgüyse DHTML dil kodunu belirtin. Dünya çapında kullanıma yönelik bir uygulamanın assemblyIdentity (dil bağımsız) dil özniteliğini atlar. assemblyIdentity dünya çapında kullanıma yönelik bir derlemede (dil bağımsız) dil değerini * olarak ayarlayın. Opsiyonel. |
processorArchitecture | İşlemciyi belirtir. Geçerli değerler x86 , amd64 , arm ve arm64 değerleridir. Ayrıca, tüm platformların hedeflenmiş olmasını sağlayan * belirtebilirsiniz. Opsiyonel. |
sürüm | Uygulama veya derleme sürümünü belirtir. Dört parçalı sürüm biçimini kullanın: mmmmm.nnnnn.ooooo.ppppp . Noktalarla ayrılmış parçaların her biri 0-65535 (dahil) olabilir. Daha fazla bilgi için bkz. Derleme Sürümleri. Gerekli. |
publicKeyToken | Uygulamanın veya derlemenin imzalandığı ortak anahtarın SHA-1 karmasının son 8 baytını temsil eden 16 karakterli onaltılık dize. Kataloğu imzalamak için kullanılan ortak anahtar 2048 bit veya daha büyük olmalıdır. Tüm paylaşılan yan yana derlemeler için gereklidir. |
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
...
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
...
</assembly>
uyumluluk
en az biruygulama içerir. Öznitelikleri yok. Opsiyonel. Windows 7'de varsayılan olarak Windows Vista uyumluluğuna yönelik bir uyumluluk öğesi olmayan uygulama bildirimleri.
uyumluluk öğesi urn:schemas-microsoft-com:compatibility.v1
ad alanında olmalıdır.
uyumluluk alt öğeleri de devralma veya etiketleme yoluyla bu ad alanında olmalıdır.
uygulama
En az bir desteklenenOS öğesi içerir. Windows 10, sürüm 1903'den başlayarak isteğe bağlı bir maxversiontested öğesi de içerebilir. Öznitelikleri yok. Opsiyonel.
supportedOS
desteklenen OS öğesi aşağıdaki özniteliğe sahiptir. Alt öğesi yok.
maxversiontested
maxversiontested öğesi, uygulamanın en yüksek sürüme kadar desteklediği en düşük işletim sistemi sürümünden başlayarak uygulamanın test edildiği Windows sürümlerini belirtir. Sürüm kümesinin tamamı buradabulunabilir. Bu, XAML Adaları kullanan ve bir MSIX paketinde dağıtılmayan masaüstü uygulamaları tarafından kullanılmak üzere tasarlanmıştır. Bu öğe Windows 10, sürüm 1903 ve sonraki sürümlerde desteklenir.
maxversiontested öğesi aşağıdaki özniteliğe sahiptir. Alt öğesi yok.
Öznitelik | Açıklama |
---|---|
Kimliği | Id özniteliğini, uygulamanın test edildiği Windows'un en yüksek sürümünü belirten 4 parçalı bir sürüm dizesine ayarlayın. Örneğin, Windows 10, sürüm 1903 için "10.0.18362.1". Gerekli. |
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
...
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 10, version 1903 -->
<maxversiontested Id="10.0.18362.1"/>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
...
</assembly>
bağımlılık
dependentAssembly en az biriçerir. Öznitelikleri yok. Opsiyonel.
dependentAssembly
dependentAssembly ilk alt öğesi, uygulamanın gerektirdiği yan yana derlemeyi açıklayan bir assemblyIdentity öğesi olmalıdır. her dependentAssemblytam olarak birbağımlılığı içinde olmalıdır. Öznitelikleri yok.
dosya
Uygulamaya özel dosyaları belirtir. Opsiyonel.
dosyası öğesi aşağıdaki tabloda gösterilen özniteliklere sahiptir.
Öznitelik | Açıklama |
---|---|
ad | Dosyanın adı. Örneğin, Comctl32.dll. Gerekli. |
Dosyanın karması oluşturmak için kullanılan algoritma. Bu değer SHA1 olmalıdır. Opsiyonel. | |
karma | Ada göre başvuruda bulunarak dosyanın karması. Karma algoritmaya bağlı olarak onaltılık uzunluk dizesi. Opsiyonel. |
activatableClass
Paketlenmemiş masaüstü uygulamalarının kullanıcı tanımlı Windows Çalışma Zamanı (WinRT) Bileşenlerini kullanmasına izin verir. Bu öğe Windows 10, sürüm 1903 ve sonraki sürümlerde desteklenir. Daha fazla bilgi için bu makale bakın.
activatableClass öğesi urn:schemas-microsoft-com:winrt.v1
ad alanında olmalıdır.
activatableClass öğesi aşağıdaki özniteliklere sahiptir.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
...
<file name="WinRTComponent.dll">
<activatableClass
name="WinRTComponent.MessageHolder"
threadingModel="both"
xmlns="urn:schemas-microsoft-com:winrt.v1"
/>
</file>
...
</assembly>
activeCodePage
Windows 10'da bu öğe, bir işlemi işlem kodu sayfası olarak UTF-8 kullanmaya zorlar. Daha fazla bilgi için UTF-8 kod sayfasını kullanma bölümüne bakın. Windows 10'da, activeCodePage için tek geçerli değer utf-8 .
Windows 11'den başlayarak, bu öğe eski UTF-8 olmayan kod sayfasının veya eski uygulama uyumluluğu için belirli bir yerel ayar için kod sayfalarının seçilmesine de olanak tanır. Modern uygulamaların Unicode kullanması kesinlikle teşvik edilir. Windows 11'de activeCodePage , Eski değerine veya en-US veya ja-JPgibi bir yerel ayar adına da ayarlanabilir.
- UTF-8 sistem etkin kod sayfasında yapılandırılan makinelerde, Eski işlemi sistem yerel ayar kodu sayfalarına geri döndürecektir. Sistem yerel ayarında tanımlı kod sayfaları yoksa Windows-1252/437 kullanılır. Eski kod sayfası ayarı yalnızca Fusion bildirimlerinde ve yalnızca Windows 11'de başlayarak desteklenir.
- en-US gibi bir yerel ayar adı sağlandığında, işlem kodu sayfası bu yerel ayar kodu sayfası için uygun şekilde ayarlanır. Örneğin, en-USiçin Windows-1252 ve 437 veya ja-JPiçin 932.
Bu öğe ilk olarak Windows 10 sürüm 1903'te (Mayıs 2019 Güncelleştirmesi) eklendi. Bu özelliği bildirebilir ve önceki Windows derlemelerinde hedef/çalıştırabilirsiniz, ancak eski kod sayfası algılama ve dönüştürme işlemlerini her zamanki gibi işlemeniz gerekir. Bu öğenin özniteliği yok.
Aşağıdaki örnek, geçerli işlemi işlem kodu sayfası olarak UTF-8 kullanmaya zorlamak için bu öğenin nasıl kullanılacağını gösterir.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">
<activeCodePage>UTF-8</activeCodePage>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
autoElevate
Otomatik yükseltmenin etkinleştirilip etkinleştirilmediğini belirtir. TRUE etkinleştirildiğini gösterir. Öznitelikleri yok. Yürütülebilir dosya Windows Publisher tarafından dijital olarak imzalanmalıdır. dahili kullanım için.
disableTheming
Kullanıcı arabirimi öğelerine tema vermenin devre dışı bırakılıp bırakılmayacağını belirtir. TRUE devre dışı olduğunu gösterir. Öznitelikleri yok.
disableWindowFiltering
Pencere filtrelemenin devre dışı bırakılıp devre dışı bırakılmayacağını belirtir. TRUE , masaüstünden çevreleyici pencereleri numaralandırabilmeniz için pencere filtrelemeyi devre dışı bırakır. Windows 8'de DisableWindowFiltering eklendi ve özniteliği yok.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
<disableWindowFiltering>true</disableWindowFiltering>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
dpiAware
Geçerli işlemin inç başına nokta (dpi) duyarlı olup olmadığını belirtir.
Windows 10, sürüm 1607:dpiAware öğesi dpiAwareness öğesi varsa yoksayılır. Windows 10, sürüm 1607 için işletim sisteminin önceki bir sürümünden farklı bir davranış belirtmek istiyorsanız bildirime her iki öğeyi de ekleyebilirsiniz.
Aşağıdaki tabloda, dpiAware öğesinin ve içerdiği metnin varlığına bağlı olarak elde edilen davranış açıklanmaktadır. öğesindeki metin büyük/küçük harfe duyarlı değildir.
dpiAware öğesinin durumu | Açıklama |
---|---|
Yok | Geçerli işlem varsayılan olarak dpi'dir. SetProcessDpiAwarenessveya SetProcessDPIAwareişleviniçağırarak bu ayarı program aracılığıyla değiştirebilirsiniz. |
"true" içerir | Geçerli işlem sistem dpi'sini algılar. |
"false" içerir |
Windows Vista, Windows 7 ve Windows 8: Davranış, dpiAware bulunmadığı durumla aynıdır. Windows 8.1 ve Windows 10: Geçerli işlem dpi'nin farkında değildir ve SetProcessDpiAwarenessveya SetProcessDPIAware işlevini çağırarak bu ayarı program aracılığıyla değiştiremezsiniz. |
"true/pm" içerir |
Windows Vista, Windows 7 ve Windows 8: Geçerli işlem sistem dpi'sini algılar. Windows 8.1 ve Windows 10: Geçerli işlem monitör başına dpi farkındadır. |
"Monitör başına" içerir |
Windows Vista, Windows 7 ve Windows 8: Davranış, dpiAware bulunmadığı durumla aynıdır. Windows 8.1 ve Windows 10: Geçerli işlem monitör başına dpi farkındadır. |
Başka bir dize içerir |
Windows Vista, Windows 7 ve Windows 8: Davranış, dpiAware bulunmadığı durumla aynıdır. Windows 8.1 ve Windows 10: Geçerli işlem dpi'nin farkında değildir ve SetProcessDpiAwarenessveya SetProcessDPIAware işlevini çağırarak bu ayarı program aracılığıyla değiştiremezsiniz. |
dpi tanıma ayarları hakkında daha fazla bilgi için bkz. Windows'da Yüksek DPI Masaüstü Uygulaması Geliştirme.
dpiAware öznitelikleri yoktur.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
dpiAwareness
Geçerli işlemin inç başına nokta (dpi) duyarlı olup olmadığını belirtir.
dpiAwareness öğesini destekleyen işletim sisteminin en düşük sürümü Windows 10, sürüm 1607'dir. dpiAwareness öğesini destekleyen sürümler için dpiAwarenessdpiAware öğesini geçersiz kılar. Windows 10, sürüm 1607 için işletim sisteminin önceki bir sürümünden farklı bir davranış belirtmek istiyorsanız bildirime her iki öğeyi de ekleyebilirsiniz.
dpiAwareness öğesi tek bir öğe veya virgülle ayrılmış öğelerin listesini içerebilir. İkinci durumda, işletim sistemi tarafından tanınan listedeki ilk (en soldaki) öğe kullanılır. Bu şekilde, gelecekteki Windows işletim sistemi sürümlerinde desteklenen farklı davranışlar belirtebilirsiniz.
Aşağıdaki tabloda, dpiAwareness öğesinin ve en soldaki tanınan öğesinde içerdiği metnin bulunmasına bağlı olarak sonuçlanan davranış açıklanmaktadır. öğesindeki metin büyük/küçük harfe duyarlı değildir.
dpiAwareness öğe durumu: | Açıklama |
---|---|
Öğe yok | dpiAware öğesi, işlemin dpi farkında olup olmadığını belirtir. |
Tanınan öğe içermiyor | Geçerli işlem varsayılan olarak dpi'dir. SetProcessDpiAwarenessveya SetProcessDPIAwareişleviniçağırarak bu ayarı program aracılığıyla değiştirebilirsiniz. |
İlk tanınan öğe "sistem" | Geçerli işlem sistem dpi'sini algılar. |
İlk tanınan öğe "permonitor" | Geçerli işlem monitör başına dpi'ye duyarlıdır. |
İlk tanınan öğe "permonitorv2" | Geçerli işlem, per-monitor-v2 dpi farkındalık bağlamını kullanır. Bu öğe yalnızca Windows 10 sürüm 1703 veya sonraki sürümlerde tanınacaktır. |
İlk tanınan öğe "farkında değil" | Geçerli işlem dpi'nin farkında değil. SetProcessDpiAwarenessveya SetProcessDPIAwareişlevinibu ayarı program aracılığıyla değiştiremezsiniz. |
Bu öğe tarafından desteklenen dpi tanıma ayarları hakkında daha fazla bilgi için bkz. DPI_AWARENESS ve DPI_AWARENESS_CONTEXT.
dpiAwareness öznitelikleri yoktur.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
<dpiAwareness>PerMonitorV2, unaware</dpiAwareness>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
gdiScaling
GDI ölçeklendirmenin etkinleştirilip etkinleştirilmediğini belirtir. gdiScaling öğesini destekleyen işletim sisteminin en düşük sürümü Windows 10 sürüm 1703'tür.
GDI (grafik cihaz arabirimi) çerçevesi, uygulamanın kendisinde güncelleştirmeler olmadan temel öğelere ve metinlere monitör başına DPI ölçeklendirmesi uygulayabilir. Bu, GDI uygulamalarının artık etkin olarak güncelleştirilmesinin olmaması için yararlı olabilir.
Vektör olmayan grafikler (bit eşlemler, simgeler veya araç çubukları gibi) bu öğe tarafından ölçeklendirilemez. Ayrıca, uygulamalar tarafından dinamik olarak derlenen bit eşlemler içinde görünen grafikler ve metinler de bu öğe tarafından ölçeklendirilemez. Daha fazla bilgi için bkz. GDI tabanlı Masaüstü Uygulamalarında yüksek DPI deneyimini iyileştirme.
SetThreadDpiAwarenessContext veya setProcessDpiAwarenessContextişlevini DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED
değerleprogram aracılığıyla değiştirebilirsiniz.
true bu öğenin etkinleştirildiğini gösterir. Öznitelikleri yok.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
<gdiScaling>true</gdiScaling>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
highResolutionScrollingAware
Yüksek çözünürlüklü kaydırma tanıma özelliğinin etkinleştirilip etkinleştirilmediğini belirtir. TRUE etkinleştirildiğini gösterir. Öznitelikleri yok.
longPathAware
uzunluğu MAX_PATH aşan uzun yolları etkinleştirir. Bu öğe Windows 10, sürüm 1607 ve sonraki sürümlerde desteklenir. Daha fazla bilgi için bu makale bakın.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
<ws2:longPathAware>true</ws2:longPathAware>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
printerDriverIsolation
Yazıcı sürücüsü yalıtımının etkinleştirilip etkinleştirilmediğini belirtir. TRUE etkinleştirildiğini gösterir. Öznitelikleri yok. Yazıcı sürücüsü yalıtımı, yazıcı sürücülerinin yazdırma biriktiricisinin çalıştığı işlemden ayrı işlemlerde çalışmasını sağlayarak Windows yazdırma hizmetinin güvenilirliğini artırır. Windows 7 ve Windows Server 2008 R2'de yazıcı sürücüsü yalıtımı desteği başlatıldı. Bir uygulama, kendisini yazıcı sürücüsünden yalıtmak ve güvenilirliğini artırmak için uygulama bildiriminde yazıcı sürücüsü yalıtımı bildirebilir. Başka bir ifadeyle, yazıcı sürücüsünde hata olduğunda uygulama kilitlenmez.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
<printerDriverIsolation>true</printerDriverIsolation>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
ultraHighResolutionScrollingAware
Ultra yüksek çözünürlüklü kaydırma tanıma özelliğinin etkinleştirilip etkinleştirilmediğini belirtir. TRUE etkinleştirildiğini gösterir. Öznitelikleri yok.
msix
Geçerli uygulama için dış konuma sahip bir paketin kimlik bilgilerini belirtir (bkz. Dış konumla paket kimliği verme). Bu öğe Windows 10, sürüm 2004 ve sonraki sürümlerde desteklenir.
msix öğesi urn:schemas-microsoft-com:msix.v1
ad alanında olmalıdır. Aşağıdaki tabloda gösterilen özniteliklere sahiptir.
Öznitelik | Açıklama |
---|---|
yayımcı | Yayımcı bilgilerini açıklar. Bu değer, dış konumla paketlenmiş uygulamanızın paket bildirimindeki Identity öğesindeki Publisher özniteliğiyle eşleşmelidir. |
packageName | Paketin içeriğini açıklar. Bu değerin, paketlenmiş uygulamanızın paket bildirimindeki Identity öğesindeki Adı özniteliğiyle dış konumla eşleşmesi gerekir. |
applicationId | Uygulamanın benzersiz tanımlayıcısı. Bu değer, paketlenmiş uygulamanızın paket bildirimindeki Application öğesindeki Kimliği özniteliğiyle dış konumla eşleşmelidir. |
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="Contoso.PhotoStoreApp"/>
<msix xmlns="urn:schemas-microsoft-com:msix.v1"
publisher="CN=Contoso"
packageName="ContosoPhotoStore"
applicationId="ContosoPhotoStore"
/>
</assembly>
heapType
Kullanılacak Win32 yığın API'leri için varsayılan yığın uygulamasını geçersiz kılar.
- SegmentHeap değeri, segment yığınının kullanılacağını gösterir. Segment yığını, genel bellek kullanımınızı azaltan modern bir yığın uygulamasıdır. Bu öğe Windows 10, sürüm 2004 (derleme 19041) ve sonraki sürümlerde desteklenir.
- Diğer tüm değerler yoksayılır.
Bu öğenin özniteliği yok.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2020/WindowsSettings">
<heapType>SegmentHeap</heapType>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
supportedArchitectures
Yalnızca IL-only .NET Framework yürütülebilir dosyaları için, uygulamanın uyumlu olduğu yerel işlemci mimarilerinin listesini belirtir. Boşluklarla ayrılmış olarak aşağıdaki değerlerden birini veya daha fazlasını içerebilir:
- amd64
- arm64
Bu öğenin özniteliği yok.
Bu öğe Windows 11, sürüm 24H2 ve sonraki sürümlerde desteklenir.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
...
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2024/WindowsSettings">
<supportedArchitectures>amd64 arm64</supportedArchitectures>
</asmv3:windowsSettings>
</asmv3:application>
...
</assembly>
trustInfo
Tüm UAC uyumlu uygulamalarda, uygulama bildirimine istenen bir yürütme düzeyi eklenmelidir. İstenen yürütme düzeyleri, bir uygulama için gereken ayrıcalıkları belirtir. Daha fazla bilgi için bkz. Kullanıcı Hesabı Denetimi (UAC) Uygulamanızı nasıl etkiler.
İstenen yürütme düzeyi, trustInfo öğesinin alt öğesi olan requestedExecutionLevel düzeyi özniteliğiyle belirtilir. düzey için izin verilen değerler şunlardır:
Değer | Açıklama |
---|---|
OlarakInvoker | Uygulama, uygulamayı başlatan işlemle aynı izin düzeyinde çalışır. yönetici olarak çalıştır seçerek uygulamayı daha yüksek bir izin düzeyine yükseltebilirsiniz. |
administrator gerektirme | Uygulama yönetici izinlerini kullanarak çalışır. Uygulamayı başlatan kullanıcının Administrators grubunun bir üyesi olması gerekir. Açma işlemi yönetici izinleriyle çalışmıyorsa, sistem kimlik bilgilerini ister. |
highestAvailable | Uygulama, en yüksek izin düzeyinde çalışır. Uygulamayı başlatan kullanıcı Yöneticiler grubunun bir üyesiyse, bu seçenek level="requireAdministrator" ile aynıdır. Kullanılabilir en yüksek izin düzeyi, açma işleminin düzeyinden yüksekse, sistem kimlik bilgilerini ister. |
Düzeyi highestAvailable
olarak ayarlamak, uygulamanın hem Yöneticiler grubunun üyesi olan hem de olmayan kullanıcılarla başarılı bir şekilde çalışmasını sağlar. Uygulama yalnızca sisteme yönetici erişimiyle çalışabiliyorsa, uygulamayı istenen yürütme düzeyi requireAdministrator
olarak işaretlemek, sistemin bu programı bir yönetim uygulaması olarak tanımlamasını ve gerekli yükseltme adımlarını gerçekleştirmesini sağlar.
Varsayılan olarak, Visual C++ bağlayıcısı yürütme düzeyi asInvoker
olan bir uygulamanın bildirimine bir UAC parçası ekler.
requestedExecutionLevel öğesinin ayrıca uiAccess isteğe bağlı bir özniteliği vardır. Uygulamanın kullanıcı arabirimi koruma düzeylerini atlayıp girişi masaüstündeki daha yüksek izinli pencerelere yönlendirmesini istiyorsanız bu değeri true
olarak ayarlayın. Bu özniteliği yalnızca kullanıcı arabirimi erişilebilirlik uygulamaları için true
olarak ayarlayın. varsayılan olarak false
. Güvenlik ilkesi ayarlarından ek kısıtlamalar uygulanabilir, bkz. Kullanıcı Hesabı Denetimi: yalnızcagüvenli konumlara yüklenen UIAccess uygulamalarını yükseltme. Daha fazla bilgi için bkz. Yardımcı Teknolojiler için Güvenlik Konuları.
requestedExecutionLevel düğümü belirtilmesi dosya ve kayıt defteri sanallaştırmasını devre dışı bırakır. Geriye dönük uyumluluk için Dosya ve Kayıt Defteri Sanallaştırma'sını kullanmak istiyorsanız requestedExecutionLevel düğümünü atlayın.
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
Örnek
Aşağıda, MySampleApp.exeadlı bir uygulama için uygulama bildirimi örneği verilmiştir. Uygulama, SampleAssembly derlemesini yan yana tüketir.
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" name="MyOrganization.MyDivision.MySampleApp" version="6.0.0.0" processorArchitecture="*" />
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Proseware.Research.SampleAssembly" version="6.0.0.0" processorArchitecture="*" publicKeyToken="0000000000000000" />
</dependentAssembly>
</dependency>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 10 and Windows 11 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
</application>
</compatibility>
</assembly>