Tek Paket Yazma Örneği
Örnek PUASample.msi, Windows Server 2008 R2 ve Windows 7'de kullanıcı başına veya makine başına yükleme bağlamı yüklenebilen çift amaçlı bir Windows Installer 5.0 paketi örneğidir. Bu örnek paket, Tek Paket Yazma'nde açıklanan geliştirme yönergelerini izler.
Örneğin bir kopyasını alma
Bu örneğin bir kopyası ve bir Windows Installer veritabanı tablo düzenleyicisi Orca.exe, Windows Installer Geliştiricileri için Windows SDK Bileşenleri ,içinde bulunmaktadır. Örnek ve tablo düzenleyicisi, PUASample1.msi ve Orca.msiWindows Installer yükleme dosyaları olarak Windows Server 2008 R2 ve Windows 7 için Windows Yazılım Geliştirme Seti ile birlikte sağlanır.
Sistem Gereksinimleri
Orca.exeveritabanı düzenleyicisi, Windows Server 2008 R2 ve öncesi ile Windows 7 ve önceki sürümleri gerektirir. PUASample1.msiçift amaçlı paket, Windows Server 2008 R2 ve Windows 7'de makine başına veya kullanıcı başına yükleme bağlamı yüklenebilir. PUASample1.msi yalnızca Windows Server 2008 ve önceki sürümlerde, Windows Vista'da ve önceki sürümlerde makine başına bağlamında yüklenebilir. Örneği yüklemeden PUASample1.msi içeriğini incelemek için veritabanı düzenleyicisini yükleyebilirsiniz. Örnek veya düzenleyici paketlerini yüklemek için DisableMSI ilkesinin uygulama yüklemelerini engelleyen bir değere ayarlanmadığından emin olun.
Dual-Purpose Paketi Tanımlama
çift amaçlı paketler MSIINSTALLPERUSER özelliğinin değerini 1 olarak başlatmalıdır. Bu, paketin Windows Server 2008 R2 ve Windows 7'de makine başına veya kullanıcı başına bağlamında yüklenebileceğini tanımlar. Paketteki MSIINSTALLPERUSER özelliğini yalnızca Tek Paket Yazma açıklanan geliştirme yönergelerine göre yazılmışsa ve kullanıcılara paketi kullanıcı başına veya makine başına bağlamında yükleme seçeneği sağlamayı planlıyorsanız ayarlayın. Çift amaçlı paket ayrıca ALLUSERS özelliğinin değerini de 2 olarak başlatmalıdır. Bu, uygulama için varsayılan yükleme bağlamı olarak kullanıcı bazında tanımlar. ALLUSERS özelliğinin değeri 2 dışında bir değerse, Windows Installer MSIINSTALLPERUSER özelliğini yoksayar.
PUASample1.msiiçeriğini incelemek için Orca.exegibi bir Windows Installer veritabanı düzenleyicisi kullanın. Örnek paketteki Özelliği tablosu aşağıdaki iki girdiyi içerir.
Özellik Tablosu (kısmi)
Mülk | Değer |
---|---|
ALLUSERS | 2 |
MSIINSTALLPERUSER | 1 |
Yükleme Bağlamı için Özel İletişim Kutusu
Örnek paketin kullanıcı arabirimi, kullanıcıların yükleme zamanında kullanıcı başına veya makine başına yükleme bağlamını seçmesini sağlayan verifyReadyDialog adlı özel bir iletişim kutusu örneği içerir. Diyalog tablosu, VerifyReadyDialog iletişim kutusunu açıklayan bir kayıt içerir. Bu iletişim kutusu msidbDialogAttributesVisible (1), msidbDialogAttributesModal (2), msidbDialogAttributesMinimize (4) ve msidbDialogAttributesTrackDiskSpace (32) iletişim stili bitlerikullandığından, Öznitelikler alanına girilen değer 39'dur. İletişim kutusunun başlık çubuğunda, ProductName özelliğinin değeriyle verilen bir başlık gösterilir.
İletişim Kutusu Tablo (kısmi)
Iletişim | HCentering | VCentering | Genişlik | Yükseklik | Öznitelik | Başlık | İlk_Kontrol | Kontrol_Varsayılan | Kontrol_İptal |
---|---|---|---|---|---|---|---|---|---|
VerifyReadyDialog | 50 | 50 | 480 | 280 | 39 | [ProductName] | InstallPerUser | Sonraki | İptal |
Denetimi tablosu, "VerifyReadyDialog" iletişim kutusu tarafından görüntülenen denetimleri için girdiler içerir. İletişim kutusunda PushButton denetimleri ve Metin denetimi görüntülenir. Tüm denetimler, msidbControlAttributesEnabled (2) ve msidbControlAttributesVisible (1) denetim özniteliklerinikullanır. InstallPerMachine denetimi, msidbControlAttributesElevationShield (8388608) ElevationShield denetim özniteliğini de kullanır. Bu denetim özniteliği, InstallPerMachine denetimine Kullanıcı Hesabı Denetimi (UAC) yükseltme simgesini (kalkan simgesi) ekler ve kullanıcıya uygulamayı makine başına bağlamda yüklemek için UAC kimlik bilgilerinin gerekli olduğunu bildirir. Denetim tablosunun Metin alanındaki değer, denetim tarafından görüntülenen metin stili ve metindir. Önceden tanımlanmış stilleri kullanarak denetime metin ekleme hakkında daha fazla bilgi için Denetim tablosu konusundaki Metin alanının açıklamasına bakın.
Denetimi Tablosu (kısmi)
Iletişim_ | Kontrol | Tür | Öznitelik | Metin | Kontrol_Sonraki |
---|---|---|---|---|---|
VerifyReadyDialog | İptal | Basmalı Düğme | 3 | {\Tahoma10}&İptal | Sonraki |
VerifyReadyDialog | Önceki | Basmalı Düğme | 3 | {\Tahoma10}<<&Önceki | İptal |
VerifyReadyDialog | Sonraki | Basmalı Düğme | 3 | {\Tahoma10}&Sonraki >> | InstallPerUser |
VerifyReadyDialog | Metin2 | Metin | 3 | Askıya alınan yüklemenizi tamamlamaya hazır mısınız? | |
VerifyReadyDialog | InstallPerUser | Basmalı Düğme | 3 | {\Tahoma10}Yalnızca &Benim İçin Yükle | InstallPerMachine |
VerifyReadyDialog | InstallPerMachine | Düğme | 8388611 | {\Tahoma10}&Herkes için Yükle | Önceki |
VerifyReadyDialog | İptal | Pushbutton | 3 | {\Tahoma10}&İptal | Sonraki |
ControlEvent tablosu, kullanıcı bir denetimle etkileşime geçtiğinde yükleyicinin gerçekleştirdiği ControlEventsveya eylemlerini belirtir. Kullanıcı InstallPerUser basma düğmesini etkinleştirdiğinde, OutOfDiskSpaceözelliği 1 ise, MSIINSTALLPERUSER özelliğinin değerini 1 olarak ayarlarsa, ALLUSERS özelliğinin değerini 2 olarak ayarlarsa, MSIFASTINSTALL özelliğini 1 olarak ayarlarsa, kullanıcı arabirimi bir OutOfDisk iletişim kutusu görüntüler. ve döndürür. MSIFASTINSTALL özelliği ayarlandığından yükleme sırasında Sistem Geri Yükleme noktası oluşturulmaz. Kullanıcı InstallPerMachine düğmesine tıkladığında, OutOfDiskSpace özelliği 1 ise kullanıcı arabirimi bir OutOfDisk iletişim kutusu görüntüler, ALLUSERS özelliğinin değerini 1 olarak ayarlar ve geri döner.
ControlEvent Tablosu (kısmi)
Iletişim_ | Kontrol_ | Olay | Tartışma | Koşul | Sipariş |
---|---|---|---|---|---|
VerifyReadyDialog | InstallPerUser | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerUser | Diyaloğu Sonlandır | Dönmek | OutOfDiskSpace <> 1 | 5 |
VerifyReadyDialog | InstallPerUser | [MSIINSTALLPERUSER] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [ALLUSERS] | 2 | 1 | 3 |
VerifyReadyDialog | InstallPerMachine | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerMachine | Diyaloğu Bitir | Dönmek | OutOfDiskSpace <> 1 | 3 |
VerifyReadyDialog | InstallPerMachine | [ALLUSERS] | 1 | 1 | 2 |
Hazır Diyalogunu Doğrula | InstallPerUser | [MSIFASTINSTALL] | 1 | 1 | 4 |
InstallPerUser denetimi, Windows Installer Windows Installer 5.0'dan önceki bir Windows Installer sürümü kullanılarak herhangi bir yüklemenin kullanıcı arabiriminden kaldırılmalıdır. Örnek paketteki ControlCondition tablosu, geçerli sürüm Windows Installer 5.0'dan küçükse InstallPerUser denetimini devre dışı bırakmaya ve gizlemeye yönelik dört girdi içerir. Tablo, bu koşulu tanımlamak için VersionMsi özelliğinin değerini ve koşullu deyim söz dizimini kullanır. Eylem alanında belirtilen eylem yalnızca Koşul alanındaki deyim true olduğunda gerçekleştirilir.
ControlCondition Tablosu (kısmi)
Iletişim_ | Kontrol_ | Eylem | Koşul |
---|---|---|---|
Doğrulamaya Hazır Dialog | InstallPerUser | Etkinleştir | VersionMsi >= "5.00" |
VerifyReadyDialog | InstallPerUser | Devre dışı bırakmak | VersionMsi < "5.00" |
VerifyReadyDialog | InstallPerUser | Göstermek | VersionMsi >= "5.00" |
VerifyReadyDialog | InstallPerUser | Gizlemek | VersionMsi < "5.00" |
Dizin Yapısını Belirtme
PUASample1.msiveritabanının Dizini tablosunu incelemek için düzenleyiciyi kullanın. Directory_Parent alanında boş dize bulunan Dizin Tablosu kaydı, hem kaynak hem de hedef dizin ağaçlarının kök dizinini temsil eder. TARGETDIR özelliği tanımlanmamışsa, yükleyici yükleme zamanında değerini ROOTDRIVE özelliğinin değerine ayarlar. SourceDir özelliği tanımlanmamışsa, yükleyici değerini Windows Installer paketini (.msi dosyası) içeren dizinin konumuna ayarlar. Dizin adları kısa|uzun biçimi kullanılarak belirtilir.
Dizin Tablosu (kısmi)
Dizin | Dizin_Ebeveyni | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
Program Dosyaları Klasörü | TARGETDIR | . |
Program Menüsü Klasörü | TARGETDIR | . |
Kurulum Yeri | MyVendor | Örnek1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft|Microsoft, Microsoft Türkiye |
Kaynakta, bu Directory tablosu aşağıdaki dizin yollarına çözümür.
- \[SourceDir\]\\Msft\\Sample1 \[SourceDir\]
Hedefte, Dizin tablosu aşağıdaki tablodaki yollarla çözülür. Yükleyici, ProgramFilesFolder ve ProgramMenuFolder özelliklerinin değerlerini, yükleme bağlamı ve sistemin Windows Server 2008 R2 ve Windows 7'nin 32 bit veya 64 bit sürümleri olup olmadığına bağlı konumlara ayarlar. Hedef klasörlerin yolları, kullanıcının kullanıcı başına mı yoksa makine başına yükleme mi seçtiğine bağlıdır.
Yükleme Bağlamı | Sistem | Örnek Yollar |
---|---|---|
Per-Machine | Windows Server 2008 R2 ve Windows 7 32 bit sürüm |
%ProgramFiles%\Msft\Sample1 %ALLUSERSPROFILE%\Microsoft\Windows\Başlat Menüsü\Programlar |
Per-Machine | Windows Server 2008 R2 ve Windows 7 64 bit sürüm |
%ProgramFiles(x86)%\Msft\Sample1 %ALLUSERSPROFILE%\Microsoft\Windows\Başlat Menüsü\Programlar |
Per-User | Windows Server 2008 R2 ve Windows 7 32 bit veya 64 bit sürüm |
%USERPROFILE%\AppData\Local\Programs\Msft\Sample1 %APPDATA%\Microsoft\Windows\Başlat Menüsü\Programlar |
Kullanıcı başına uygulamalar, ProgramFilesFolder özelliği değeriyle belirtilen Programlar klasörünün altındaki alt klasörlerde depolanmalıdır. Genellikle, uygulamanın yolu aşağıdaki formu alır.
%LOCALAPPDATA%\Programs\ISV adı\AppName.
Kullanıcı başına yapılandırma verileri, ProgramMenuFolder özelliğinin değeriyle belirtilen Programlar klasöründe depolanmalıdır. Bu klasör genellikle aşağıdaki yolda bulunur.
%APPDATA%\Microsoft\Windows\Başlat Menüsü\Programlar
32 bit Windows Installer Paketi bileşenleri yüklüyorsanız, Directory tablosundaki ProgramFilesFolderve CommonFilesFolder özelliğini kullanın. 64 bit Windows Installer Paketi bileşenlerini yüklüyorsanız, ProgramFiles64Folder ve CommonFiles64Folder özelliklerini kullanın. Uygulamanız aynı bileşenin aynı ada sahip 32 bit ve 64 bit sürümlerini içeriyorsa, bu sürümlerin farklı dizinlere kaydedildiğinden emin olun veya onlara farklı adlar verin.
Aşağıdaki Directory tablosu, 32 bit ve 64 bit bileşenleri içeren ve uygulamalar arasında paylaşılan bazı bileşenleri içeren bir paketle uyumlu bir dizin düzeni örneği sağlar.
Dizin | Dizin_Üst | VarsayılanDizin |
---|---|---|
TARGETDIR | SourceDir | |
Program Dosyaları Klasörü | TARGETDIR | .:Prog32 |
ProgramFiles64Folder | TARGETDIR | .:Prog64 |
OrtakDosyalarDizini | TARGETDIR | .:Share32 |
OrtakDosyalar64Klasörü | TARGETDIR | .:Share64 |
Program Menüsü Klasörü | TARGETDIR | .:Örnek1|MSDN-PUASample1 |
KURULUM KONUMU | MyVendor | Örnek1|MSDN-PUASample1 |
INSTALLLOCATIONX64 | Vendorx64 | Örnek1|MSDN-PUASample1 |
Paylaşılan Konum | ShVendor | Örnek1|MSDN-PUASample1 |
SHAREDLOCATIONX64 | ShVendorx64 | Örnek1|MSDN-PUASample1 |
MyVendor | Program Dosyaları Klasörü | Msft|Microsoft |
Vendorx64 | Program Dosyaları 64 Klasörü | Msft|Microsoft |
ShVendor | OrtakDosyalarKlasörü | Msft|Microsoft |
ShVendorx64 | CommonFiles64Folder | Msft|Microsoft |
Shrx86 | PAYLAŞILAN KONUM | x32|32 bit bileşenler |
Shrx64 | SHAREDLOCATIONX64 | x64|64 bit bileşenler |
Binx86 | KURULUMYERİ | x32|32 bit bileşenler |
Binx64 | INSTALLLOCATIONX64 | x64|64 bit bileşenler |
Uygulama32 | Binx86 | myapp|paylaşılmamış 32-bit bileşenler |
Uygulama64 | Binx64 | myapp|paylaşılmayan 64 bit bileşenler |
Paylaş32 | Shrx86 | paylaşılan|paylaşılan 32-bit bileşenler |
Share64 | Shrx64 | paylaşılan|paylaşılan 64 bit bileşenler |
Kaynakta, bu Directory tablosu aşağıdaki dizin yollarına çözümür.
- \[SourceDir\]Prog32\\Msft\\Sample1\\x32\\myapp \[SourceDir\]Share32\\Common Files\\Msft\\Sample1\\x32\\shared \[SourceDir\]Prog64\\Msft\\Sample1\\x64\\myapp \[SourceDir\]Share64\\Common Files\\Msft\\Sample1\\x64\\shared \[SourceDir\]Sample1
Hedefte yer alan bu Dizin tablosu, aşağıdaki dizin yollarına çözülür. Hedef yollar, yükleme bağlamı ve sisteme bağlıdır.
Yükleme Bağlamı | Sistem | Örnek Yollar |
---|---|---|
Per-Machine | Windows Server 2008 R2 ve Windows 7 32 bit sürüm |
%ProgramFiles%\Msft\Sample1\x32\myapp %ProgramFiles%\Common Files\Msft\Sample1\x32\shared %ProgramFiles(x86)%\Msft\Sample1\x64\myapp %ProgramFiles(x86)%\Common Files\Msft\Sample1\x64\shared %ProgramData%\Microsoft\Windows\Start Menu\Programs\Sample1 |
Per-Machine | Windows Server 2008 R2 ve Windows 7 64 bit sürüm |
%ProgramFiles(x86)%\Msft\Sample1\x32\myapp %ProgramFiles(x86)%\Common Files\Msft\Sample1\x32\shared %ProgramFiles%\Msft\Sample1\x64\myapp %ProgramFiles%\Common Files\Msft\Sample1\x64\shared %ProgramData%\Microsoft\Windows\Start Menu\Programs\Sample1 |
Per-User | Windows Server 2008 R2 ve Windows 7 32 bit veya 64 bit sürüm |
%LOCALAPPDATA%\Programs\Msft\Sample1\x32\myapp %LOCALAPPDATA%\Programs\Common\Msft\Sample1\x32\shared %LOCALAPPDATA%\Programs\Msft\Sample1\x64\myapp %LOCALAPPDATA%\Programs\Common\Msft\Sample1\x64\shared %APPDATA%\Microsoft\Windows\Start Menu\Programs\Sample1 |
Uygulama Kaydı
PUASample.msi, uygulamanın Uygulama Yolları kayıt defteri anahtarına bir alt anahtar ekler ve uygulama bilgilerinin bu anahtar altında kayıt defterine kaydedilmesini sağlayan kayıtlar gerçekleştirir. Uygulama Yolları ve uygulama kaydı hakkında daha fazla bilgi için, Kabuk Geliştirici Kılavuzuiçindeki kabuk genişletilebilirliği bölümünde yer alan PerceivedTypes, SystemFileAssociations ve Application Registration kısmına bakın. Yükleme sırasında, kullanıcı uygulamayı kullanıcı başına veya makine başına yükleme bağlamında yükleme kararı alır. İki amaçlı paket yazıldığında, paket geliştiricisi kayıtların HKEY_LOCAL_MACHINE veya HKEY_CURRENT_USER anahtarları altında gerçekleştirilip gerçekleştirilemeyeceğini bilemez.
Paket geliştiricisi, uygulamanın yürütülebilir dosyasının dosya tanımlayıcısını Dosya Tablosunun Dosya alanında tanımlar.
Dosya Tablosu (kısmi)
Dosya | Parça_ | Dosyaadı | Dosya Boyutu | Sürüm | Dil | Öznitelik | Sıra |
---|---|---|---|---|---|---|---|
MyAppFile | Ürün Bileşeni | PUASAMP1.EXE|PUASample1.exe | 81920 | 0 | 1 |
Kayıt defterine kaydedilecek değerler, Kayıt Defteri tablosunun Değer alanında Biçimlendirilmiş dizesi olarak belirtilebilir. Uygulama Yolları kayıt defteri anahtarının varsayılan değerini belirtmek için, Dosya tablosunun Dosya alanında tanımlanan dosya tanımlayıcısını ve Biçimlendirilmiş türün [#dosya anahtarı] kuralını kullanın. En üst düzey INSTALL eylemi, InstallExecuteSequence tablosundaki eylemleri gerçekleştirir. CostInitialize, FileCostve InstallFinalize eylemleri tamamlandıktan sonra, Windows Installer Kayıt Defteri tablosundaki biçimlendirilmiş [#MyAppFile] alt dizesini uygulama dosyasının tam yoluyla değiştirir.
Örnek, kök anahtarın konumunu içerecek özel bir regroot özelliğini tanımlar ve kullanıcı makine başına bir yükleme seçerse özellik değerini sıfırlamak için özel bir eylem kullanır. Kök konuma başvuran biçimlendirilmiş dize değerlerinde RegRoot özel özelliğini kullanın. Özelliği tablosunda PUASample.msi paketi özel özelliği tanımlar ve RegRoot değerini HKCU olarak ayarlar. Bu, çift amaçlı paketler için önerilen varsayılan bağlam olan kullanıcı başına yükleme bağlamı için özelliğinin değerini başlatır.
Özellik Tablosu (kısmi)
Mülk | Değer |
---|---|
RegRoot | HKCU |
CustomAction tablosunda paket, Set_RegRoot_HKLM adlı özel bir eylem tanımlar. Tür alanındaki değer bunu standart özel eylem Özel Eylem Türü 51 olarak tanımlar. CustomAction tablosundaki Kaynak ve Hedef alanlarının anlamı özel eylem türüne bağlıdır. Standart özel eylem türleri hakkında daha fazla bilgi için bkz. Özel Eylem Türleri. Set_RegRoot_HKLM özel eyleminin Kaynak alanı RegRoot özelliğinin değerini belirtir. Yükleyici özel Set_RegRoot_HKLM eylemi gerçekleştirirse, bu, RegRoot özelliğinin değerini HKLM'ye sıfırlar.
ÖzelEylem Tablosu (kısmi)
Eylem | Tür | Kaynak | Hedef |
---|---|---|---|
Set_RegRoot_HKLM | 51 | [RegRoot] | HKLM |
En üst düzey INSTALL eylemi, InstallExecuteSequence tablosundaki eylemleri, bu tablonun Sıra alanında belirtilen sırayla gerçekleştirir. Set_RegRoot_HKLM özel eyleminin (1501) Sıra alanında yazılan değer, bu özel eylemin InstallInitialize eyleminden (1500) sonra ve ProcessComponents eyleminden (1600) önce gerçekleştirildiğini belirtir. Bu dizi, Set_RegRoot_HKLM özel eyleminin kaydının yükleme zamanında değerlendirilmesini sağlar. InstallExecuteSequence tablosunda önerilen eylem dizisi hakkında daha fazla bilgi için Önerilen InstallExecuteSequence konusuna bakın. Koşul alanında yazılan koşullu deyim söz dizimi, Set_RegRoot_HKLM eyleminin yalnızca ALLUSERS özelliğinin değeri yükleme zamanında 1 olarak değerlendirilirse gerçekleştirildiğini belirtir. 1 değerine sahip ALLUSERS özelliği, makine başına bir kurulum belirtir.
InstallExecuteSequence Tablosu (kısmi)
Eylem | Koşul | Sıra |
---|---|---|
Kayıt Kökünü Ayarla: Set_RegRoot_HKLM | ALLUSERS=1 | 1501 |
Kayıt Defteri tablosundaki aşağıdaki kayıtlar, ProductComponent bileşeni yüklüyse kayıtları gerçekleştirir. Kök alanındaki -1 değeri, kullanıcı başına yükleme için HKEY_LOCAL_MACHINE ve kullanıcı başına yükleme için HKEY_CURRENT_USER altında kaydı gerçekleştirmek için gereklidir. Kayıt Defteri alanında boş dize içeren kayıt, AppPaths kayıt defteri anahtarı altında uygulama için bir alt anahtar ekler ve "(Varsayılan)" değerini uygulamanın yürütülebilir dosyasının tam yoluna ayarlar. MyAppPathAlias kaydı, yürütülebilir dosyayı bir uygulama diğer ismiyle eşler ve kullanıcı komut satırı isteminde "puapct" diğer ismini yazarsa uygulamanın başlatılmasını sağlar. MyAppPathRegistration kaydı, yürütülebilir dosyanın adını dosyanın tam dosya yoluna eşler.
Kayıt defteri | Kök | Anahtar | Ad | Değer | Bileşen |
---|---|---|---|---|---|
-1 | Software\Microsoft\MyAppPathRegistrationLocation | [RegRoot]\Software\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | Ürün Bileşeni | ||
MyAppPathAlias | -1 | Yazılım\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | [#MyAppFile] | Ürün Bileşeni | |
MyAppPathRegistration | -1 | Yazılım\Microsoft\Windows\CurrentVersion\App Paths\PUASample1.exe | [#MyAppFile] | Ürün Bileşeni |
AutoPlay Kaydını İptal Et
Uygulama kullanıcısının, seçilen cihazlar için Donanım Otomatik Yürütme'yi başlatmasını engellemesini sağlayan kayıtları PUASample.msi gerçekleştirir. Bir olaya yanıt olarak Otomatik Yürütme'yi iptal etmek üzere bir işleyici kaydetme hakkında bilgi için, Kabuk Geliştirici Kılavuzuiçindeki kabuk genişletilebilirliği bölümünde bulunan Donanım ve Yazılımı Otomatik Yürütme ile Kullanıma Hazırlama konusuna bakın. Aşağıdaki kayıt, ProductComponent bileşeni yüklendiğinde Ad alanında belirtilen işleyiciyi kaydeder. Kök alanındaki -1 değeri, Windows Installer'a kaydın yükleme bağlamını temel alan bir konuma yeniden yönlendirileceğini belirtmek için gereklidir.
Kayıt Defteri Tablosu
Kayıt defteri | Kök | Anahtar | İsim | Değer | Bileşen |
---|---|---|---|---|---|
MyAutoplayKaydınıİptalEtme | -1 | SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\CLSID | 66A32FE6-229D-427b-A608-D273F40C034C | Ürün Bileşeni |
önizleme işleyicisi kaydı
PUASample.msi, uygulamayı başlatmadan .pua dosyalarının salt okunur önizlemesini sağlayan bir önizleme işleyicisi yüklemek için gereken kayıtları gerçekleştirir. Önizleme işleyicilerini kaydetme hakkında bilgi için, Kabuk Geliştirici Kılavuzuiçindeki kabuk genişletilebilirliği bölümünde yer alan Önizleme İşleyicilerini Kaydetme konusuna bakın. Kayıt Defteri tablosundaki aşağıdaki kayıtlar, ProductComponent bileşeni yüklendiğinde işleyiciyi kaydeder. Kök alanındaki -1 değeri, Windows Installer'a kaydın yükleme bağlamını temel alan bir konuma yeniden yönlendirileceğini belirtmek için gereklidir.
Kayıt Defteri Tablosu
Kayıt defteri | Kök | Anahtar | Ad | Değer | Bileşen |
---|---|---|---|---|---|
MyPreviewHandlerRegistration1 | -1 | Yazılım\Sınıflar\.pua | puafile | Ürün Bileşeni | |
MyPreviewHandlerRegistration2 | -1 | Software\Microsoft\Windows\CurrentVersion\PreviewHandlers | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | Microsoft Windows PUA TEST Önizleme İşleyicisi | Ürün Bileşeni |
MyPreviewHandlerRegistration3 | -1 | Software\Classes\puafile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f} | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | Ürün Bileşeni | |
MyPreviewHandlerRegistration4 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | Per-User Application Örnek 1 Önizleme İşleyicisi | Ürün Bileşeni | |
MyPreviewHandlerRegistration5 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | AppID | {6d2b5079-2f0b-48dd-ab7f-97cec514d30b} | Ürün Bileşeni |
MyPreviewHandlerRegistration6 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | DisplayName | @shell32,-38242 | Ürün Bileşeni |
MyPreviewHandlerRegistration7 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | İkon | notepad.exe,2 | Ürün Bileşeni |
MyPreviewHandlerRegistration8 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | ThreadingModel | Daire | Ürün Bileşeni |
MyPreviewHandlerRegistration9 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | #%%SystemRoot%\system32\shell32.dll | Ürün Bileşeni | |
MyPreviewHandlerRegistration10 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | ProgID | puafile | Ürün Bileşeni |