Redigeringsexempel för enskilt paket
Exempel PUASample.msi är ett exempel på ett Windows Installer 5.0-paket med dubbla syften som kan installeras i installationskontexten per användare eller per dator på Windows Server 2008 R2 och Windows 7. Det här exempelpaketet följer utvecklingsriktlinjerna som beskrivs i Redigering av enkla paket.
Hämta en kopia av exemplet
En kopia av det här exemplet och en Windows Installer-databastabellredigerare, Orca.exe, finns i Windows SDK-komponenter för Windows Installer Developers. Exempel- och tabellredigeraren medföljer Windows Software Development Kit för Windows Server 2008 R2 och Windows 7 som installationsfiler för Windows Installer PUASample1.msi och Orca.msi.
Systemkrav
Databasredigeraren Orca.exekräver Windows Server 2008 R2 och tidigare och Windows 7 och tidigare. Paketet med dubbla syften, PUASample1.msi, kan installeras i installationskontexten per dator eller per användare på Windows Server 2008 R2 och Windows 7. PUASample1.msi kan endast installeras i kontexten per dator på Windows Server 2008 och tidigare och Windows Vista och tidigare. Du kan installera databasredigeraren för att undersöka innehållet i PUASample1.msi utan att installera exemplet. Om du vill installera exempel- eller redigeringspaketen kontrollerar du att principen DisableMSI inte är inställd på ett värde som blockerar programinstallationer.
Identifiera ett Dual-Purpose-paket
Paket med dubbla syften bör initiera värdet för MSIINSTALLPERUSER egenskap till 1. Detta identifierar paketet som kapabelt att installeras i kontexten per dator eller per användare på Windows Server 2008 R2 och Windows 7. Ange egenskapen MSIINSTALLPERUSER i paketet endast om den har skrivits enligt utvecklingsriktlinjerna som beskrivs i single package authoring och om du tänker ge användarna möjlighet att installera paketet i antingen kontexten per användare eller per dator. Ett paket med dubbla syften bör också initiera värdet för egenskapen ALLUSERS till 2. Detta anger per användare som standardinstallationskontext för programmet. Om värdet för egenskapen ALLUSERS är något annat värde än 2 ignorerar Windows Installer egenskapen MSIINSTALLPERUSER.
Använd en Windows Installer-databasredigerare, till exempel Orca.exe, för att undersöka innehållet i PUASample1.msi. Tabellen Egenskap i exempelpaketet innehåller följande två poster.
Egenskapstabell (delvis)
Egenskap | Värde |
---|---|
ALLUSERS | 2 |
MSIINSTALLPERUSER | 1 |
Anpassad dialogruta för installationskontext
Det användargränssnittet i exempelpaketet innehåller ett exempel på en anpassad dialogruta, VerifyReadyDialog, som gör att användarna kan välja installationskontexten per användare eller per dator vid installationen. Tabellen Dialog innehåller en post som beskriver dialogrutan VerifyReadyDialog. Värdet som anges i fältet Attribut är 39 eftersom den här dialogrutan använder msidbDialogAttributesVisible (1), msidbDialogAttributesModal (2), msidbDialogAttributesMinimize (4) och msidbDialogAttributesTrackDiskSpace (32) dialogformatbitar. Titelraden i dialogrutan visar en titel som anges av värdet för egenskapen ProductName.
dialogruta tabell (delvis)
Dialog | HCentering | VCentering | Bredd | Höjd | Attribut | Titel | Control_First | Standardkontroll | Kontroll_Avbryt |
---|---|---|---|---|---|---|---|---|---|
VerifyReadyDialog | 50 | 50 | 480 | 280 | 39 | [ProductName] | InstallPerUser | Nästa | Annullera |
Tabellen för kontroll innehåller poster för kontroller som visas i dialogrutan VerifyReadyDialog. Dialogrutan visar PushButton--kontroller och en text--kontroll. Alla kontroller använder kontrollattributen msidbControlAttributesEnabled (2) och msidbControlAttributesVisible (1) . InstallPerMachine-kontrollen använder också kontrollattributet ElevationShield, msidbControlAttributesElevationShield (8388608.) Detta kontrollattribut lägger till User Account Control (sköldikon) till InstallPerMachine-kontrollen och informerar användaren om att UAC-uppgifter krävs för att installera programmet i hela datorns kontext. Värdet i fältet Text i tabellen Kontroll är textformatet och texten som visas av kontrollen. Mer information om hur du lägger till text i en kontroll med fördefinierade format finns i beskrivningen av fältet Text i tabellen Kontroll.
Control Tabell (delvis)
Dialog_ | Kontroll | Typ | Attribut | Text | Kontroll_Nästa |
---|---|---|---|---|---|
VerifyReadyDialog | Annullera | Tryckknapp | 3 | {\Tahoma10}&Avbryt | Nästa |
VerifyReadyDialog | Föregående | Tryckknapp | 3 | {\Tahoma10}<<&Föregående | Annullera |
VerifyReadyDialog | Nästa | Tryckknapp | 3 | {\Tahoma10}&Nästa >> | InstallPerUser |
Verifieringsklar-dialog | Text 2 | Text | 3 | Är du redo att slutföra den pausade installationen? | |
VerifyReadyDialog | InstallPerUser | Tryckknapp | 3 | {\Tahoma10}Installera endast för &mig | InstallPerMachine |
VerifyReadyDialog | InstallPerMachine | Tryckknapp | 8388611 | {\Tahoma10}Installera för &alla | Föregående |
VerifyReadyDialog | Annullera | Tryckknapp | 3 | {\Tahoma10}&Avbryt | Nästa |
Tabellen ControlEvent anger ControlEventseller åtgärder som installationsprogrammet utför när användaren interagerar med en kontroll. När en användare aktiverar Pushbuttonen InstallPerUser, Användargränssnittet visar en dialogrutan OutOfDisk om egenskapen OutOfDiskSpace är 1, anger värdet för egenskapen MSIINSTALLPERUSER till 1, anger värdet för egenskapen ALLUSERS till 2, anger egenskapen MSIFASTINSTALL till 1. och returnerar . Eftersom egenskapen MSIFASTINSTALL har angetts genereras ingen systemåterställningspunkt för installationen. När en användare aktiverar push-knappen InstallPerMachine visar användargränssnittet en Dialogruta för OutOfDisk om egenskapen OutOfDiskSpace är 1, anger värdet för egenskapen ALLUSERS till 1 och returnerar.
ControlEvent Tabell (delvis)
Dialog_ | Kontroll_ | Händelse | Argument | Tillstånd | Beställning |
---|---|---|---|---|---|
VerifyReadyDialog | InstallPerUser | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerUser | Avsluta dialog | Återvända | OutOfDiskSpace <> 1 | 5 |
VerifyReadyDialog | InstallPerUser | [MSIINSTALLPERUSER] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [ALLUSERS] | 2 | 1 | 3 |
VerifyReadyDialog | InstallPerMachine | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerMachine | AvslutaDialog | Återvända | OutOfDiskSpace <> 1 | 3 |
VerifyReadyDialog | InstallPerMachine | [ALLUSERS] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [MSIFASTINSTALL] | 1 | 1 | 4 |
InstallPerUser-kontrollen bör tas bort från användargränssnittet för alla installationer med en tidigare Windows Installer-version än Windows Installer Windows Installer 5.0. Tabellen ControlCondition i exempelpaketet innehåller fyra poster som inaktiverar och döljer Kontrollen InstallPerUser om den aktuella versionen är mindre än Windows Installer 5.0. I tabellen används värdet för egenskapen VersionMsi och den villkorsstyrda instruktionens syntax för att definiera det här villkoret. Åtgärden som anges i fältet Åtgärd utförs endast om instruktionen i fältet Villkor är sant.
ControlCondition Tabell (partiell)
Dialog_ | Kontroll_ | Handling | Tillstånd |
---|---|---|---|
VerifyReadyDialog | InstallPerUser | Möjliggöra | VersionMsi >= "5,00" |
VerifyReadyDialog | InstallPerUser | Inaktivera | VersionMsi < "5.00" |
VerifyReadyDialog | InstallPerUser | Visa | VersionMsi >= "5,00" |
VerifyReadyDialog | InstallPerUser | Göm | VersionMsi < "5.00" |
Ange katalogstruktur
Använd databasredigeraren för att undersöka tabellen Directory i PUASample1.msi. Posten i katalogtabellen med en tom sträng i sitt Directory_Parent-fält representerar rotkatalogen för både käll- och målkatalogträden. Om egenskapen TARGETDIR är odefinierad anger installationsprogrammet sitt värde vid installationen till värdet för egenskapen ROOTDRIVE. Om egenskapen SourceDir är odefinierad anger installationsprogrammet sitt värde till platsen för katalogen som innehåller Windows Installer-paketet (.msi fil.) Katalognamnen anges med formatet short|long.
Katalog Tabell (delvis)
Katalog | Katalog_Förälder | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
ProgramFilesFolder | TARGETDIR | . |
ProgramMenuFolder | TARGETDIR | . |
INSTALLATIONSPLATS | MyVendor | Exempel 1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft|Microsoft |
Vid källan löses den här Directory-tabellen upp till följande katalogsökvägar.
- \[SourceDir\]\\Msft\\Sample1 \[SourceDir\]
Vid målet matchas tabellen Directory till sökvägarna i följande tabell. Installationsprogrammet anger värdena för ProgramFilesFolder och ProgramMenuFolder egenskaper till platser som är beroende av installationskontext och om systemet är 32-bitars- eller 64-bitarsversionerna av Windows Server 2008 R2 och Windows 7. Sökvägarna till målmapparna beror på om användaren väljer en installation per användare eller per dator.
Installationskontext | Systemet | Exempelvägar |
---|---|---|
Per-Machine | Windows Server 2008 R2 och Windows 7 32-bitarsversion |
%ProgramFiles%\Msft\Sample1 %ALLUSERSPROFILE%\Microsoft\Windows\Start-menyn\Program |
Per-Machine | Windows Server 2008 R2 och Windows 7 64-bitarsversion |
%ProgramFiles(x86)%\Msft\Sample1 %ALLUSERSPROFILE%\Microsoft\Windows\Start-menyn\Program |
Per-User | Windows Server 2008 R2 och Windows 7 32-bitars eller 64-bitars version |
%USERPROFILE%\AppData\Local\Programs\Msft\Sample1 %APPDATA%\Microsoft\Windows\Start-menyn\Program |
Program per användare ska lagras i undermappar under mappen Program som anges av värdet för egenskapen ProgramFilesFolder. Normalt har sökvägen till programmet följande formulär.
%LOCALAPPDATA%\Programs\ISV-namn\AppName.
Konfigurationsdata per användare ska lagras i mappen Program som anges av värdet för egenskapen ProgramMenuFolder. Den här mappen finns vanligtvis på följande sökväg.
%APPDATA%\Microsoft\Windows\Start-menyn\Program
Om du installerar 32-bitars Windows Installer Package-komponenter använder du egenskapen ProgramFilesFolder och CommonFilesFolder i tabellen Directory. Om du installerar 64-bitars Windows Installer Package-komponenter använder du egenskaperna ProgramFiles64Folder och CommonFiles64Folder. Om programmet innehåller 32-bitars- och 64-bitarsversioner av samma komponent, med samma namn, kontrollerar du att dessa versioner sparas i olika kataloger eller ger dem olika namn.
Följande tabell Directory innehåller ett exempel på en kataloglayout som är kompatibel med ett paket som innehåller 32-bitars- och 64-bitarskomponenter och innehåller vissa komponenter som delas mellan program.
Katalog | Katalog_Förälder | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
ProgramFilesFolder | TARGETDIR | .:Prog32 |
ProgramFiles64Folder | TARGETDIR | .:Prog64 |
Mapp för gemensamma filer | TARGETDIR | .:Share32 |
CommonFiles64Folder | TARGETDIR | .:Share64 |
ProgramMenuFolder | TARGETDIR | .:Sample1|MSDN-PUASample1 |
Installationsplats | MyVendor | Exempel 1|MSDN-PUASample1 |
Installationsplats X64 | Vendorx64 | Exempel 1|MSDN-PUASample1 |
Delad plats | ShVendor | Exempel 1|MSDN-PUASample1 |
SHAREDLOCATIONX64 | ShVendorx64 | Exempel 1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft|Microsoft |
Vendorx64 | ProgramFiles64Folder | Msft|Microsoft |
ShVendor | Mappen för gemensamma filer | Msft|Microsoft |
ShVendorx64 | CommonFiles64Folder | Msft|Microsoft |
Shrx86 | DELAD PLATS | x32|32-bitarskomponenter |
Shrx64 | SHAREDLOCATIONX64 | x64|64-bit komponenter |
Binx86 | INSTALLATIONSPLATS | x32|32-bitarskomponenter |
Binx64 | INSTALLLOCATIONX64 | x64|64-bitarskomponenter |
App32 | Binx86 | myapp|odelade 32-bitarskomponenter |
App64 | Binx64 | myapp|icke-delade 64-bitarskomponenter |
Dela 32 | Shrx86 | gemensamma|delade 32-bitarskomponenter |
Share64 | Shrx64 | delade 64-bitarskomponenter |
I källan matchas den här Directory--tabellen med följande katalogsökvägar.
- \[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
Vid målet resulterar den här Directory-tabellen i följande katalogsökvägar. Målsökvägarna beror på installationskontexten och systemet.
Installationskontext | System | Exempelsökvägar |
---|---|---|
Per-Machine | Windows Server 2008 R2 och Windows 7 32-bitarsversion |
%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 och Windows 7 version för 64-bitars |
%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 och Windows 7 32-bitars eller 64-bitars version |
%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 |
Programregistrering
PUASample.msi lägger till en undernyckel till appsökvägarnas registernyckel för programmet och utför registreringar som gör att programinformation kan sparas i registret under den här nyckeln. Mer information om appsökvägar och programregistrering finns i avsnittet PerceivedTypes, SystemFileAssociations och Application Registration i shell-utökningsbarheten i Shell Developer's Guide. Vid installationen fattar användaren beslutet att installera programmet i installationskontexten per användare eller per dator. När paketet med dubbla syften har skapats kan paketutvecklaren inte veta om registreringarna ska utföras under HKEY_LOCAL_MACHINE eller HKEY_CURRENT_USER nycklar.
Paketutvecklaren definierar filidentifieraren för programmets körbara fil i fältet Arkiv i File Table.
fil tabell (delvis)
Fil | Komponent_ | Filnamn | Filstorlek | Version | Språk | Attribut | Sekvens |
---|---|---|---|---|---|---|---|
MyAppFile | Produktkomponent | PUASAMP1.EXE|PUASample1.exe | 81920 | 0 | 1 |
Värden som ska sparas i registret kan anges i fältet Värde i tabellen Registry som en formaterad sträng. Använd filidentifieraren som definierats i fältet Fil i tabellen File och [#filekey]-konventionen av den formaterade typen för att ställa in standardvärdet för registernyckeln App Paths. Åtgärden INSTALLERA på den översta nivån utför åtgärderna i tabellen InstallExecuteSequence. När CostInitialize, FileCostoch InstallFinalize åtgärder i den här tabellen har slutförts ersätter Windows Installer den formaterade delsträngen [#MyAppFile] i registertabellen med den fullständiga sökvägen till programfilen.
Exemplet definierar en anpassad egenskap, RegRoot, som ska innehålla rotnyckelns plats och använder en anpassad åtgärd för att återställa egenskapsvärdet om användaren väljer en installation per dator. Använd den anpassade egenskapen RegRoot i alla formaterade strängvärden som refererar till rotplatsen. I tabellen Egenskap definierar PUASample.msi-paketet den anpassade egenskapen och anger värdet för RegRoot till HKCU. Detta initierar värdet för egenskapen för installationskontexten per användare, den rekommenderade standardkontexten för paket med dubbla syften.
Egenskaper Tabell (delvis)
Egenskap | Värde |
---|---|
RegRoot | HKCU |
I tabellen CustomAction definierar paketet en anpassad åtgärd med namnet Set_RegRoot_HKLM. Värdet i fältet Typ identifierar detta som en anpassad åtgärdstyp 51 standardanpassad åtgärd. Innebörden av fälten Källa och Mål i CustomAction-tabellen beror på den anpassade åtgärdstypen. Mer information om standardtyperna för anpassade åtgärder finns i anpassade åtgärdstyper. Fältet Källa för den anpassade åtgärden Set_RegRoot_HKLM anger värdet för egenskapen RegRoot. Om installationsprogrammet utför den Set_RegRoot_HKLM anpassade åtgärden återställs värdet för egenskapen RegRoot till HKLM.
CustomAction Tabell (partiell)
Åtgärd | Typ | Källa | Mål |
---|---|---|---|
Set_RegRoot_HKLM | 51 | [RegRoot] | HKLM |
Åtgärden INSTALL på den översta nivån utför åtgärderna i tabellen InstallExecuteSequence i sekvensen som anges i fältet Sekvens i tabellen. Värdet som har skapats i fältet Sekvens för den anpassade åtgärden Set_RegRoot_HKLM (1501) anger att den här anpassade åtgärden ska utföras efter åtgärden InstallInitialize (1500) och före åtgärden ProcessComponents (1600.) Den här sekvensen säkerställer att posten för den Set_RegRoot_HKLM anpassade åtgärden utvärderas vid installationen. Mer information om den rekommenderade sekvensen med åtgärder i tabellen InstallExecuteSequence finns i avsnittet Suggested InstallExecuteSequence. Syntaxen för villkorsstyrd instruktion som har skapats i fältet Villkor anger att åtgärden Set_RegRoot_HKLM endast utförs om värdet för egenskapen ALLUSERS utvärderas till 1 vid installationen. Ett ALLUSERS- egenskapsvärde på 1 anger en installation per maskin.
InstallExecuteSequence Tabell (partiell)
Handling | Tillstånd | Sekvens |
---|---|---|
Set_RegRoot_HKLM | ALLUSERS=1 | 1501 |
Följande poster i tabellen Registry utför registreringarna om ProductComponent-komponenten är installerad. Värdet -1 i fältet Rot krävs för att utföra registreringen under HKEY_LOCAL_MACHINE för en installation per användare och under HKEY_CURRENT_USER för en installation per användare. Posten med en tom sträng i fältet Register lägger till en undernyckel för programmet under AppPaths-registernyckeln och anger värdet "(Standard)" till den fullständiga sökvägen till programmets körbara fil. MyAppPathAlias-registreringen mappar den körbara filen till ett programalias och gör att programmet kan startas om användaren skriver aliaset "puapct" i en kommandotolk. MyAppPathRegistration-registreringen mappar namnet på den körbara filen till filens fullständiga sökväg.
Register | Rot | Nyckel | Namn | Värde | Komponent |
---|---|---|---|---|---|
-1 | Software\Microsoft\MyAppPathRegistrationLocation | [RegRoot]\Software\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | Produktkomponent | ||
MyAppPathAlias | -1 | Programvara\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | [#MyAppFile] | Produktkomponent | |
MyAppPathRegistration | -1 | Programvara\Microsoft\Windows\CurrentVersion\App Paths\PUASample1.exe | [#MyAppFile] | Produktkomponent |
Avregistrera AutoPlay
PUASample.msi utför registreringar som gör det möjligt för programanvändaren att förhindra Automatisk uppspelning av maskinvara från att starta för valda enheter. Information om hur du registrerar en hanterare för att avbryta automatisk uppspelning som svar på en händelse finns i avsnittet Förbereda maskinvara och programvara för användning med automatisk uppspelning i avsnittet shell-utökningsbarhet i Shell Developer's Guide. Följande post registrerar hanteraren som anges i fältet Namn när komponenten ProductComponent installeras. Värdet -1 i fältet Rot krävs för att ange för Windows Installer att registreringen ska omdirigeras till en plats som är beroende av installationskontexten.
Register Tabell
Register | Rot | Nyckel | Namn | Värde | Komponent |
---|---|---|---|---|---|
MinAutospelAvbrytRegistrering | -1 | SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\CLSID | 66A32FE6-229D-427b-A608-D273F40C034C | Produktkomponent |
Registrering av förhandsgranskningshanterare
PUASample.msi utför registreringar som krävs för att installera en förhandsgranskningshanterare som möjliggör en skrivskyddad förhandsversion av .pua-filer utan att starta programmet. Information om hur du registrerar förhandsgranskningshanterare finns i avsnittet Registering Preview Handlers i avsnittet shell extensibility i Shell Developer's Guide. Följande poster i tabellen Registry registrerar hanteraren när ProductComponent-komponenten installeras. Värdet -1 i fältet Rot krävs för att ange för Windows Installer att registreringen ska omdirigeras till en plats som är beroende av installationskontexten.
Register | Rot | Nyckel | Namn | Värde | Komponent |
---|---|---|---|---|---|
MyPreviewHandlerRegistration1 | -1 | Software\Classes\.pua | puafile | Produktkomponent | |
MyPreviewHandlerRegistration2 | -1 | Software\Microsoft\Windows\CurrentVersion\PreviewHandlers | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | Förhandsversionshanteraren för Microsoft Windows PUA TEST | Produktkomponent |
MyPreviewHandlerRegistration3 | -1 | Software\Classes\puafile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f} | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | Produktkomponent | |
MyPreviewHandlerRegistration4 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | Per-User Applikation Exempel 1 Förhandsgranskningshanterare | Produktkomponent | |
MyPreviewHandlerRegistration5 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | AppID | {6d2b5079-2f0b-48dd-ab7f-97cec514d30b} | Produktkomponent |
MyPreviewHandlerRegistration6 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | Visningsnamn | @shell32,-38242 | Produktkomponent |
MyPreviewHandlerRegistration7 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22} | Ikon | notepad.exe,2 | Produktkomponent |
MyPreviewHandlerRegistration8 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | ThreadingModel | Lägenhet | ProduktKomponent |
MyPreviewHandlerRegistration9 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | #%%SystemRoot%\system32\shell32.dll | Produktkomponent | |
MyPreviewHandlerRegistration10 | -1 | Software\Classes\CLSID\{1531d583-8375-4d3f-b5fb-d23bbd169f22}\InProcServer32 | ProgID | puafile | Produktkomponent |