Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genel Bakış
Esnek sanallaştırma özelliği, uygulamanızın bazı dosya kümesinin ve Kayıt Defteri girdilerinin diğer uygulamalar tarafından görünür olması gerektiğini bildirmesi için bir yol sağlar; ve bunların uygulama kaldırmada kalıcı olması gerekir. Diğer tüm dosyalar ve Kayıt Defteri girdileri diğer uygulamalar tarafından görülmeyebilir ; ve kaldırıldığında kaldırılır.
Seçili konumların sanallaştırılmasını denetleme
Uyarı
Bu bölümde açıklanan davranış Windows 10, sürüm 21H1'de kullanıma sunulmuştur.
Windows 10, sürüm 21H1'den başlayarak sistem unvirtualizedResources kısıtlı özelliğinin ve RegistryWriteVirtualization ve FilesystemWriteVirtualization özelliklerinin mevcut davranışını korur. Buna ek olarak, sistem uygulamanızın sanallaştırılmasını istemediğiniz belirli klasörleri ve/veya Registry anahtarlarını bildirme özelliğini ekler.
- Yalnızca içindeki
%USERPROFILE%\AppDatadosya sistemi konumlarını bildirebilirsiniz. - Yalnızca HKCU içindeki Kayıt Defteri konumlarını bildirebilirsiniz.
İşte bir örnek.
<!-- Declare the desktop6 and/or virtualization XML namespace where the virtualization properties are defined, and include this in the list of ignorable namespaces. -->
<!-- Declare the XML namespace for the required restricted capability, and include it in the list of ignorable namespaces. -->
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:desktop6="http://schemas.microsoft.com/appx/manifest/desktop/windows10/6"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:virtualization="http://schemas.microsoft.com/appx/manifest/virtualization/windows10"
IgnorableNamespaces="rescap desktop6 virtualization">
<!-- ... -->
<!-- Other entries omitted for brevity. -->
<!-- ... -->
<Properties>
<!-- If you don't want virtualization of registry writes to HKEY_CURRENT_USER, then include the property, and set it to disabled. -->
<desktop6:RegistryWriteVirtualization>disabled</desktop6:RegistryWriteVirtualization>
<!-- If you don't want virtualization of file system writes to the user's AppData folder, then include the property, and set it to disabled. -->
<desktop6:FileSystemWriteVirtualization>disabled</desktop6:FileSystemWriteVirtualization>
<!-- On Windows 10, version 21H1 and later OS versions, you can declare specific file system and/or registry locations that you want to be unvirtualized.
If these are recognized on the current device, then they take precedence over the old declarations. On older devices,
the new declarations are ignored and the old ones are honored. -->
<virtualization:FileSystemWriteVirtualization>
<virtualization:ExcludedDirectories>
<virtualization:ExcludedDirectory>$(KnownFolder:LocalAppData)\Fabrikam\Widgets</virtualization:ExcludedDirectory>
<virtualization:ExcludedDirectory>$(KnownFolder:RoamingAppData)\Fabrikam\Widgets</virtualization:ExcludedDirectory>
</virtualization:ExcludedDirectories>
</virtualization:FileSystemWriteVirtualization>
<virtualization:RegistryWriteVirtualization>
<virtualization:ExcludedKeys>
<virtualization:ExcludedKey>HKEY_CURRENT_USER\Software\Fabrikam\Widgets</virtualization:ExcludedKey>
</virtualization:ExcludedKeys>
</virtualization:RegistryWriteVirtualization>
</Properties>
<Capabilities>
<!-- Include the required restricted capability. -->
<rescap:Capability Name="unvirtualizedResources"/>
</Capabilities>
</Package>
Uyarı
Uygulamanız hem Windows 10 öncesi, sürüm 21H1 hem de Windows 10, sürüm 21H1 söz dizimini bildirirse, eski bildirim Windows 10 öncesi sürüm 21H1 sürümlerinde kullanılırken, yeni bildirim Windows 10 öncesi, sürüm 21H1 ve sonraki sürümlerde kullanılır.
Windows 10, sürüm 21H1 öncesi mekanizmalar
Geleneksel ortamlarda, uygulamalar dosya sistemindeki çoğu yerde dosya oluşturabilir, güncelleştirebilir ve silebilir. Ayrıca Windows Kayıt Defteri'nde girdiler oluşturabilir, güncelleştirebilir ve silebilir. Bu dosyalar ve Kayıt Defteri girdileri, genellikle olması gerekmese de sistemdeki diğer uygulamalar tarafından görülebilir. Buna ek olarak, uygulama kaldırıldığında, bu dosyalar ve Kayıt Defteri girdileri genellikle geride bırakılır ve dağınık hale gelir.
Evrensel Windows Platformu'nda (UWP), bu tür dosyalar ve Kayıt Defteri girişleri sanallaştırılır, böylece yalnızca bunları yazan uygulama görebilir. Uygulama kaldırıldığında kaldırılırlar. Ancak, uygulamanın bu tür dosyaların ve Kayıt Defteri girdilerinin diğer uygulamalar tarafından görünür olmasını istediği geçerli senaryolar vardır. Buna ek olarak, diğer uygulamalar bu dosyaları ve girişleri yazan uygulama kaldırıldıktan sonra bile kalıcı olmasını gerektirebilir.
Varsayılan MSIX davranışı
| Yer | Bağlam | Açıklama |
|---|---|---|
| HKCU (İngilizce) | Yükleme zamanı |
|
| HKCU (İngilizce) | Çalışma zamanı |
|
| HKLM (İngilizce) | Yükleme zamanı |
|
| HKLM (İngilizce) | Çalışma zamanı |
|
| İyi bilinen klasörler | Yükleme zamanı |
|
| Uygulama Verileri | Çalışma zamanı |
|
Kısıtlanmış unvirtualizedResources özellik
Uyarı
Windows 10, sürüm 1903 (10.0; Derleme 18362), aynı zamanda Windows 10 Mayıs 2019 Güncelleştirmesi olarak da bilinen versiyonunda unvirtualizedResources kısıtlı özellik için destek tanıtıldı.
Uygulamanız kısıtlanmış özelliği bildirebilir unvirtualizedResources ve HKCU ve/veya AppData'ya yazma erişimi almak için true ve/veya FilesystemWriteVirtualization özelliklerini olarak ayarlayabilir. Bu, uygulamanızın daha sonra paketi dışındaki diğer işlemler için görünür olan girdiler yazması gereken durumu etkinleştirmektir. Örneğin oyunlar , kaydetme verilerini AppData'ya yazar ve oyun kaldırıldıktan sonra bile bu verilerin kalıcı olması gerekir.
| Mülkiyet | Açıklama |
|---|---|
| RegistryWriteVirtualization=devre dışı | HKCU'ya yazma işlemleri sanallaştırılmamış konuma gider, paketin dışındaki diğer işlemlere görünür ve uygulama kaldırmada temizlenmez. |
| FilesystemWriteVirtualization=devre dışı | AppData'ya yazma işlemleri sanallaştırılmamış konuma gider, paketin dışındaki diğer işlemlere görünür ve uygulama kaldırma işlemiyle temizlenmez. |
Bu mekanizma, birincil hedefe aykırı olan HKCU ve/veya AppData sanallaştırmasını tamamen kapatır. Ayrıntılı bir araç değildir ve genellikle belirli bir uygulamanın gereksinimlerini aşıyor.