Contoh Penulisan Paket Tunggal
Sampel PUASample.msi adalah contoh paket Windows Installer 5.0 tujuan ganda yang mampu diinstal dalam konteks penginstalan per pengguna atau per mesin pada Windows Server 2008 R2 dan Windows 7. Paket sampel ini mengikuti panduan pengembangan yang dijelaskan dalam Penulisan Paket Tunggal.
Mendapatkan salinan sampel
Salinan sampel ini dan editor tabel database Penginstal Windows, Orca.exe, ada di Komponen Windows SDK untuk Pengembang Penginstal Windows. Editor sampel dan tabel disediakan dengan Windows Software Development Kit untuk Windows Server 2008 R2 dan Windows 7 sebagai file penginstalan Windows Installer PUASample1.msi dan Orca.msi.
Persyaratan Sistem
Editor database, Orca.exe, memerlukan Windows Server 2008 R2 dan yang lebih lama dan Windows 7 dan yang lebih lama. Paket tujuan ganda, PUASample1.msi, dapat diinstal dalam konteks penginstalan per mesin atau per pengguna pada Windows Server 2008 R2 dan Windows 7. PUASample1.msi hanya dapat diinstal dalam konteks per komputer pada Windows Server 2008 dan yang lebih lama dan Windows Vista dan yang lebih lama. Anda dapat menginstal editor database untuk memeriksa konten PUASample1.msi tanpa menginstal sampel. Untuk menginstal paket sampel atau editor, pastikan bahwa kebijakan DisableMSI tidak diatur ke nilai yang memblokir penginstalan aplikasi.
Mengidentifikasi Paket Tujuan Ganda
Paket tujuan ganda harus menginisialisasi nilai properti MSIINSTALLPERUSER ke 1. Ini mengidentifikasi paket sebagai mampu diinstal dalam konteks per mesin atau per pengguna pada Windows Server 2008 R2 dan Windows 7. Atur properti MSIINSTALLPERUSER dalam paket hanya jika telah ditulis mengikuti panduan pengembangan yang dijelaskan dalam Penulisan Paket Tunggal dan jika Anda ingin memberi pengguna opsi untuk menginstal paket dalam konteks per pengguna atau per mesin. Paket tujuan ganda juga harus menginisialisasi nilai properti ALLUSERS menjadi 2. Ini menentukan per pengguna sebagai konteks penginstalan default untuk aplikasi. Jika nilai properti ALLUSERS adalah nilai apa pun selain 2, Penginstal Windows mengabaikan properti MSIINSTALLPERUSER .
Gunakan editor database Penginstal Windows, seperti Orca.exe, untuk memeriksa konten PUASample1.msi. Tabel Properti dalam paket sampel berisi dua entri berikut.
Tabel Properti (parsial)
Properti | Nilai |
---|---|
ALLUSERS | 2 |
MSIINSTALLPERUSER | 1 |
Kotak Dialog Kustom untuk Konteks Penginstalan
Antarmuka pengguna paket sampel menyertakan contoh kotak dialog kustom, VerifyReadyDialog, yang memungkinkan pengguna untuk memilih konteks penginstalan per pengguna atau per mesin pada waktu penginstalan. Tabel Dialog berisi rekaman yang menjelaskan kotak dialog VerifyReadyDialog. Nilai yang dimasukkan di bidang Atribut adalah 39 karena kotak dialog ini menggunakan msidbDialogAttributesVisible (1), msidbDialogAttributesModal (2), msidbDialogAttributesMinimize (4), dan msidbDialogAttributesTrackDiskSpace (32) bit gaya dialog. Bilah judul kotak dialog menampilkan judul yang diberikan oleh nilai properti ProductName .
Tabel Dialog (parsial)
Dialog | HCentering | VCentering | Width | Height | Atribut | Judul | Control_First | Control_Default | Control_Cancel |
---|---|---|---|---|---|---|---|---|---|
VerifyReadyDialog | 50 | 50 | 480 | 280 | 39 | [ProductName] | InstallPerUser | Berikutnya | Batalkan |
Tabel Kontrol berisi entri untuk kontrol yang ditampilkan oleh kotak dialog VerifyReadyDialog. Kotak dialog menampilkan kontrol PushButton dan kontrol Teks . Semua kontrol menggunakan atribut kontrol msidbControlAttributesEnabled (2) dan msidbControlAttributesVisible (1). Kontrol InstallPerMachine juga menggunakan atribut kontrol ElevationShield, msidbControlAttributesElevationShield (8388608.) Atribut kontrol ini menambahkan ikon elevasi Kontrol Akun Pengguna (ikon perisai) ke kontrol InstallPerMachine dan memberi tahu pengguna bahwa kredensial UAC diperlukan untuk menginstal aplikasi dalam konteks per komputer. Nilai di bidang Teks tabel Kontrol adalah gaya teks dan teks yang ditampilkan oleh kontrol. Lihat deskripsi bidang Teks dalam topik tabel Kontrol untuk informasi selengkapnya tentang menambahkan teks ke kontrol menggunakan gaya yang telah ditentukan sebelumnya.
Tabel Kontrol (parsial)
Dialog_ | Menguasai | Jenis | Atribut | Teks | Control_Next |
---|---|---|---|---|---|
VerifyReadyDialog | Batalkan | Tombol Dorong | 3 | {\Tahoma10}&Batal | Berikutnya |
VerifyReadyDialog | Sebelumnya | Tombol Dorong | 3 | {\Tahoma10}<<&Sebelumnya | Batalkan |
VerifyReadyDialog | Berikutnya | Tombol Dorong | 3 | {\Tahoma10}&Next >> | InstallPerUser |
VerifyReadyDialog | Text2 | Teks | 3 | Apakah Anda siap untuk menyelesaikan penginstalan yang ditangguhkan? | |
VerifyReadyDialog | InstallPerUser | Tombol Dorong | 3 | {\Tahoma10} Instal Hanya untuk &Saya | InstallPerMachine |
VerifyReadyDialog | InstallPerMachine | Tombol Dorong | 8388611 | {\Tahoma10} Instal untuk &Semua Orang | Sebelumnya |
VerifyReadyDialog | Batalkan | Tombol Dorong | 3 | {\Tahoma10}&Batal | Berikutnya |
Tabel ControlEvent menentukan ControlEvents, atau tindakan, penginstal dilakukan saat pengguna berinteraksi dengan kontrol. Saat pengguna mengaktifkan tombol push InstallPerUser, antarmuka pengguna menampilkan kotak dialog OutOfDisk jika properti OutOfDiskSpace adalah 1, mengatur nilai properti MSIINSTALLPERUSER ke 1, mengatur nilai properti ALLUSERS ke 2, mengatur properti MSIFASTINSTALL ke 1, dan mengembalikan . Karena properti MSIFASTINSTALL diatur, tidak ada titik Pemulihan Sistem yang dihasilkan untuk penginstalan. Saat pengguna mengaktifkan tombol push InstallPerMachine, antarmuka pengguna menampilkan kotak dialog OutOfDisk jika properti OutOfDiskSpace adalah 1, mengatur nilai properti ALLUSERS ke 1, dan mengembalikan.
Tabel ControlEvent (parsial)
Dialog_ | Kontrol_ | Aktivitas | Argumen | Kondisi | Pesanan |
---|---|---|---|---|---|
VerifyReadyDialog | InstallPerUser | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerUser | EndDialog | Tampilkan | OutOfDiskSpace <> 1 | 5 |
VerifyReadyDialog | InstallPerUser | [MSIINSTALLPERUSER] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [ALLUSERS] | 2 | 1 | 3 |
VerifyReadyDialog | InstallPerMachine | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerMachine | EndDialog | Tampilkan | OutOfDiskSpace <> 1 | 3 |
VerifyReadyDialog | InstallPerMachine | [ALLUSERS] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [MSIFASTINSTALL] | 1 | 1 | 4 |
Kontrol InstallPerUser harus dihapus dari antarmuka pengguna penginstalan apa pun menggunakan versi Windows Installer yang lebih lama dari Windows Installer Windows Installer 5.0. Tabel ControlCondition dalam paket sampel berisi empat entri yang menonaktifkan dan menyembunyikan kontrol InstallPerUser jika versi saat ini kurang dari Windows Installer 5.0. Tabel menggunakan nilai properti VersionMsi dan sintaks pernyataan kondisi untuk menentukan kondisi ini. Tindakan yang ditentukan di bidang Tindakan dilakukan hanya jika pernyataan di bidang Kondisi benar.
Tabel ControlCondition (parsial)
Dialog_ | Kontrol_ | Perbuatan | Kondisi |
---|---|---|---|
VerifyReadyDialog | InstallPerUser | Aktifkan | VersionMsi >= "5.00" |
VerifyReadyDialog | InstallPerUser | Nonaktifkan | VersionMsi < "5.00" |
VerifyReadyDialog | InstallPerUser | Tampilkan | VersionMsi >= "5.00" |
VerifyReadyDialog | InstallPerUser | Sembunyikan | VersionMsi < "5.00" |
Menentukan Struktur Direktori
Gunakan editor database untuk memeriksa tabel Direktori PUASample1.msi. Rekaman Tabel Direktori yang memiliki string kosong di bidang Directory_Parent mewakili direktori akar pohon direktori sumber dan target. Jika properti TARGETDIR tidak terdefinisi, alat penginstal menetapkan nilainya pada waktu penginstalan ke nilai properti ROOTDRIVE. Jika properti SourceDir tidak terdefinisi, alat penginstal mengatur nilainya ke lokasi direktori yang berisi paket Penginstal Windows (file.msi.) Nama direktori ditentukan menggunakan format pendek|panjang.
Tabel Direktori (parsial)
Direktori | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
ProgramFilesFolder | TARGETDIR | . |
ProgramMenuFolder | TARGETDIR | . |
INSTALLLOCATION | MyVendor | Sampel1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft|Microsoft |
Di sumbernya, tabel Direktori ini diselesaikan ke jalur direktori berikut.
- \[SourceDir\]\\Msft\\Sample1 \[SourceDir\]
Pada target, tabel Direktori diselesaikan ke jalur dalam tabel berikut. Alat penginstal mengatur nilai properti ProgramFilesFolder dan ProgramMenuFolder ke lokasi yang bergantung pada konteks penginstalan dan apakah sistem adalah Windows Server 2008 R2 dan Windows 7 versi 32-bit atau 64-bit. Jalur ke folder target bergantung pada apakah pengguna memilih penginstalan per pengguna atau per komputer.
Konteks Penginstalan | Sistem | Contoh Jalur |
---|---|---|
Per-Mesin | Windows Server 2008 R2 dan Windows 7 Versi 32-bit |
%ProgramFiles%\Msft\Sample1 %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs |
Per-Mesin | Windows Server 2008 R2 dan Windows 7 Versi 64-bit |
%ProgramFiles(x86)%\Msft\Sample1 %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs |
Per Pengguna | Windows Server 2008 R2 dan Windows 7 Versi 32-bit atau 64-bit |
%USERPROFILE%\AppData\Local\Programs\Msft\Sample1 %APPDATA%\Microsoft\Windows\Start Menu\Programs |
Aplikasi per pengguna harus disimpan dalam subfolder di bawah folder Program yang ditentukan oleh nilai properti ProgramFilesFolder. Biasanya, jalur ke aplikasi mengambil formulir berikut.
%LOCALAPPDATA%\Programs\ISV name\AppName.
Data konfigurasi per pengguna harus disimpan di folder Program yang ditentukan oleh nilai properti ProgramMenuFolder. Biasanya, folder ini terletak di jalur berikut.
%APPDATA%\Microsoft\Windows\Start Menu\Programs
Jika menginstal komponen Paket Penginstal Windows 32-bit, gunakan properti ProgramFilesFolder dan CommonFilesFolder di tabel Direktori. Jika menginstal komponen Paket Penginstal Windows 64-bit, gunakan properti ProgramFiles64Folder dan CommonFiles64Folder. Jika aplikasi Anda berisi versi 32-bit dan 64-bit dari komponen yang sama, dengan nama yang sama, pastikan bahwa versi ini disimpan di direktori yang berbeda atau beri nama yang berbeda.
Tabel Direktori berikut ini menyediakan contoh tata letak direktori yang kompatibel dengan paket yang menyertakan komponen 32-bit dan 64-bit dan mencakup beberapa komponen yang dibagikan di seluruh aplikasi.
Direktori | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
ProgramFilesFolder | TARGETDIR | .:P rog32 |
ProgramFiles64Folder | TARGETDIR | .:P rog64 |
CommonFilesFolder | TARGETDIR | .:Share32 |
CommonFiles64Folder | TARGETDIR | .:Share64 |
ProgramMenuFolder | TARGETDIR | .:Sample1|MSDN-PUASample1 |
INSTALLLOCATION | MyVendor | Sampel1|MSDN-PUASample1 |
INSTALLLOCATIONX64 | Vendorx64 | Sampel1|MSDN-PUASample1 |
SHAREDLOCATION | ShVendor | Sampel1|MSDN-PUASample1 |
SHAREDLOCATIONX64 | ShVendorx64 | Sampel1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft|Microsoft |
Vendorx64 | ProgramFiles64Folder | Msft|Microsoft |
ShVendor | CommonFilesFolder | Msft|Microsoft |
ShVendorx64 | CommonFiles64Folder | Msft|Microsoft |
Shrx86 | SHAREDLOCATION | x32|komponen 32-bit |
Shrx64 | SHAREDLOCATIONX64 | x64|Komponen 64-bit |
Binx86 | INSTALLLOCATION | x32|komponen 32-bit |
Binx64 | INSTALLLOCATIONX64 | x64|Komponen 64-bit |
App32 | Binx86 | myapp|komponen 32-bit yang tidak dibagikan |
App64 | Binx64 | myapp|komponen 64-bit yang tidak dibagikan |
Bagikan32 | Shrx86 | berbagi|komponen 32-bit bersama |
Bagi64 | Shrx64 | berbagi|komponen 64-bit bersama |
Di sumbernya, tabel Direktori ini diselesaikan ke jalur direktori berikut.
- \[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
Pada target, tabel Direktori ini diselesaikan ke jalur direktori berikut. Jalur target bergantung pada konteks dan sistem penginstalan.
Konteks Penginstalan | Sistem | Contoh Jalur |
---|---|---|
Per-Mesin | Windows Server 2008 R2 dan Windows 7 Versi 32-bit |
%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-Mesin | Windows Server 2008 R2 dan Windows 7 Versi 64-bit |
%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 Pengguna | Windows Server 2008 R2 dan Windows 7 Versi 32-bit atau 64-bit |
%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 |
Pendaftaran Aplikasi
PUASample.msi menambahkan subkunci ke kunci registri Jalur Aplikasi untuk aplikasi dan melakukan pendaftaran yang memungkinkan informasi aplikasi disimpan di registri di bawah kunci ini. Untuk informasi selengkapnya tentang Jalur Aplikasi dan pendaftaran aplikasi, lihat PerceivedTypes, SystemFileAssociations, dan Pendaftaran Aplikasi di bagian ekstensibilitas shell dari Panduan Pengembang Shell. Pada waktu penginstalan, pengguna membuat keputusan untuk menginstal aplikasi dalam konteks penginstalan per pengguna atau per mesin. Pada saat paket tujuan ganda ditulis, pengembang paket tidak dapat mengetahui apakah pendaftaran harus dilakukan di bawah kunci HKEY_LOCAL_MACHINE atau HKEY_CURRENT_USER.
Pengembang paket menentukan pengidentifikasi file untuk file yang dapat dieksekusi aplikasi di bidang File Tabel File .
Tabel File (parsial)
File | Komponen_ | FileName | FileSize | Versi | Bahasa | Atribut | Sequence |
---|---|---|---|---|---|---|---|
MyAppFile | ProductComponent | PUASAMP1.EXE|PUASample1.exe | 81920 | 0 | 1 |
Nilai yang akan disimpan dalam registri dapat ditentukan di bidang Nilai tabel Registri sebagai string Yang Diformat . Gunakan pengidentifikasi file yang ditentukan di bidang File tabel File , dan konvensi [#filekey] dari jenis Yang Diformat, untuk menentukan nilai default untuk kunci registri Jalur Aplikasi. Tindakan INSTALL tingkat atas melakukan tindakan dalam tabel InstallExecuteSequence. Setelah tindakan CostInitialize, FileCost, dan InstallFinalize dalam tabel ini selesai, Penginstal Windows menggantikan substring yang diformat [#MyAppFile] dalam tabel Registri dengan jalur lengkap ke file aplikasi.
Sampel mendefinisikan properti kustom, RegRoot, untuk berisi lokasi kunci akar dan menggunakan tindakan kustom untuk mengatur ulang nilai properti jika pengguna memilih penginstalan per komputer. Gunakan properti kustom, RegRoot, dalam nilai string berformat apa pun yang mereferensikan lokasi akar. Dalam tabel Properti, paket PUASample.msi menentukan properti kustom dan mengatur nilai RegRoot ke HKCU. Ini menginisialisasi nilai properti untuk konteks penginstalan per pengguna, konteks default yang direkomendasikan untuk paket tujuan ganda.
Tabel Properti (parsial)
Properti | Nilai |
---|---|
RegRoot | HKCU |
Dalam tabel CustomAction, paket menentukan tindakan kustom bernama Set_RegRoot_HKLM. Nilai di bidang Jenis mengidentifikasi ini sebagai tindakan kustom standar Tipe Tindakan Kustom 51 . Arti bidang Sumber dan Target dalam tabel CustomAction bergantung pada jenis tindakan kustom. Untuk informasi selengkapnya tentang jenis standar tindakan kustom, lihat Jenis Tindakan Kustom. Bidang Sumber untuk tindakan kustom Set_RegRoot_HKLM menentukan bahwa nilai properti RegRoot. Jika alat penginstal melakukan tindakan kustom Set_RegRoot_HKLM, ini mengatur ulang nilai properti RegRoot ke HKLM.
Tabel CustomAction (parsial)
Perbuatan | Jenis | Sumber | Target |
---|---|---|---|
Set_RegRoot_HKLM | 51 | [RegRoot] | HKLM |
Tindakan INSTALL tingkat atas melakukan tindakan dalam tabel InstallExecuteSequence, dalam urutan yang ditentukan dalam bidang Urutan tabel tersebut. Nilai yang ditulis di bidang Urutan untuk tindakan kustom Set_RegRoot_HKLM (1501) menentukan bahwa tindakan kustom ini dilakukan setelah tindakan InstallInitialize (1500) dan sebelum tindakan ProcessComponents (1600.) Urutan ini memastikan bahwa rekaman untuk tindakan kustom Set_RegRoot_HKLM dievaluasi pada waktu penginstalan. Untuk informasi selengkapnya tentang urutan tindakan yang direkomendasikan dalam tabel InstallExecuteSequence, lihat topik InstallExecuteSequence yang Disarankan. Sintaks pernyataan kondisional yang ditulis di bidang Kondisi menentukan bahwa tindakan Set_RegRoot_HKLM dilakukan hanya jika nilai properti ALLUSERS dievaluasi ke 1 pada waktu penginstalan. Nilai properti ALLUSERS 1 menentukan penginstalan per komputer.
Tabel InstallExecuteSequence (parsial)
Perbuatan | Kondisi | Sequence |
---|---|---|
Set_RegRoot_HKLM | ALLUSERS=1 | 1501 |
Rekaman berikut dalam tabel Registri melakukan pendaftaran jika komponen ProductComponent diinstal. Nilai -1 di bidang Akar diperlukan untuk melakukan pendaftaran di bawah HKEY_LOCAL_MACHINE untuk penginstalan per pengguna dan di bawah HKEY_CURRENT_USER untuk penginstalan per pengguna. Rekaman dengan string kosong di bidang Registri menambahkan subkuntang untuk aplikasi di bawah kunci registri AppPaths dan mengatur nilai "(Default)" ke jalur lengkap file yang dapat dieksekusi aplikasi. Pendaftaran MyAppPathAlias memetakan file yang dapat dieksekusi ke alias aplikasi dan memungkinkan aplikasi diluncurkan jika pengguna mengetik alias "puapct" pada prompt baris perintah. Pendaftaran MyAppPathRegistration memetakan nama file yang dapat dieksekusi ke jalur lengkap file.
Registri | Akar | Tombol | Nama | Nilai | Komponen |
---|---|---|---|---|---|
-1 | Software\Microsoft\MyAppPathRegistrationLocation | [RegRoot]\Software\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | ProductComponent | ||
MyAppPathAlias | -1 | Software\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | [#MyAppFile] | ProductComponent | |
MyAppPathRegistration | -1 | Software\Microsoft\Windows\CurrentVersion\App Paths\PUASample1.exe | [#MyAppFile] | ProductComponent |
Pendaftaran Pembatalan Pemutaran Otomatis
PUASample.msi melakukan pendaftaran yang memungkinkan pengguna aplikasi mencegah Pemutaran Otomatis Perangkat Keras diluncurkan untuk perangkat yang dipilih. Untuk informasi tentang mendaftarkan handler untuk membatalkan Pemutaran Otomatis sebagai respons terhadap suatu peristiwa, lihat topik Menyiapkan Perangkat Keras dan Perangkat Lunak untuk Digunakan dengan AutoPlay di bagian ekstensibilitas shell dari Panduan Pengembang Shell. Catatan berikut mendaftarkan handler yang ditentukan di bidang Nama saat komponen ProductComponent diinstal. Nilai -1 di bidang Akar diperlukan untuk menentukan ke Penginstal Windows bahwa pendaftaran harus dialihkan ke lokasi yang bergantung pada konteks penginstalan.
Registri | Akar | Tombol | Nama | Nilai | Komponen |
---|---|---|---|---|---|
MyAutoplayCancelRegistration | -1 | SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\CLSID | 66A32FE6-229D-427b-A608-D273F40C034C | ProductComponent |
Pendaftaran Handler Pratinjau
PUASample.msi melakukan pendaftaran yang diperlukan untuk menginstal handler pratinjau yang memungkinkan pratinjau file .pua baca-saja tanpa meluncurkan aplikasi. Untuk informasi tentang mendaftarkan penangan pratinjau, lihat topik Mendaftarkan Penangan Pratinjau di bagian ekstensibilitas shell dari Panduan Pengembang Shell. Rekaman berikut dalam tabel Registri mendaftarkan handler saat komponen ProductComponent diinstal. Nilai -1 di bidang Akar diperlukan untuk menentukan ke Penginstal Windows bahwa pendaftaran harus dialihkan ke lokasi yang bergantung pada konteks penginstalan.
Registri | Akar | Tombol | Nama | Nilai | Komponen |
---|---|---|---|---|---|
MyPreviewHandlerRegistration1 | -1 | Software\Classes\.pua | puafile | ProductComponent | |
MyPreviewHandlerRegistration2 | -1 | Software\Microsoft\Windows\CurrentVersion\PreviewHandlers | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | Microsoft Windows PUA TEST Preview Handler | ProductComponent |
MyPreviewHandlerRegistration3 | -1 | Software\Classes\puafile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f} | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | ProductComponent | |
MyPreviewHandlerRegistration4 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | Penangan Pratinjau Sampel Applicaton Per Pengguna 1 | ProductComponent | |
MyPreviewHandlerRegistration5 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | AppID | {6d2b5079-2f0b-48dd-ab7f-97cec514d30b} | ProductComponent |
MyPreviewHandlerRegistration6 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | DisplayName | @shell32,-38242 | ProductComponent |
MyPreviewHandlerRegistration7 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | Icon | notepad.exe,2 | ProductComponent |
MyPreviewHandlerRegistration8 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | ThreadingModel | Apartemen | ProductComponent |
MyPreviewHandlerRegistration9 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | #%%SystemRoot%\system32\shell32.dll | ProductComponent | |
MyPreviewHandlerRegistration10 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | ProgID | puafile | ProductComponent |