Esempio di creazione di singoli pacchetti
L'esempio PUASample.msi è un esempio di pacchetto windows Installer 5.0 a doppio scopo che è in grado di essere installato nel contesto di installazione per utente o per computer in Windows Server 2008 R2 e Windows 7. Questo pacchetto di esempio segue le linee guida per lo sviluppo descritte in Creazione di pacchetti singoli.
Recupero di una copia dell'esempio
Una copia di questo esempio e di un editor di tabelle di database di Windows Installer, Orca.exe, si trovano nei componenti di Windows SDK per sviluppatori di Windows Installer. L'editor di esempi e tabelle viene fornito con Windows Software Development Kit per Windows Server 2008 R2 e Windows 7 come file di installazione di Windows Installer PUASample1.msi e Orca.msi.
Requisiti di sistema
L'editor di database, Orca.exe, richiede Windows Server 2008 R2 e versioni precedenti e Windows 7 e versioni precedenti. Il pacchetto a doppio scopo, PUASample1.msi, può essere installato nel contesto di installazione per computer o per utente in Windows Server 2008 R2 e Windows 7. PUASample1.msi può essere installato solo nel contesto per computer in Windows Server 2008 e versioni precedenti e Windows Vista e versioni precedenti. È possibile installare l'editor di database per esaminare il contenuto di PUASample1.msi senza installare l'esempio. Per installare i pacchetti dell'esempio o dell'editor, verificare che il criterio DisableMSI non sia impostato su un valore che blocca le installazioni dell'applicazione.
Identificazione di un pacchetto a doppio scopo
I pacchetti a doppio scopo devono inizializzare il valore della proprietà MSIINSTALLPERU edizione Standard R su 1. Questo identifica il pacchetto come in grado di essere installato nel contesto per computer o per utente in Windows Server 2008 R2 e Windows 7. Impostare la proprietà MSIINSTALLPERU edizione Standard R nel pacchetto solo se è stata scritta seguendo le linee guida di sviluppo descritte in Creazione di pacchetti singoli e se si intende fornire agli utenti la possibilità di installare il pacchetto nel contesto per utente o per computer. Un pacchetto a doppio scopo deve anche inizializzare il valore della proprietà ALLU edizione Standard RS su 2. Specifica per utente come contesto di installazione predefinito per l'applicazione. Se il valore della proprietà ALLU edizione Standard RS è qualsiasi valore diverso da 2, Windows Installer ignora la proprietà MSIINSTALLPERU edizione Standard R.
Usare un editor di database di Windows Installer, ad esempio Orca.exe, per esaminare il contenuto di PUASample1.msi. La tabella Property nel pacchetto di esempio contiene le due voci seguenti.
Tabella delle proprietà (parziale)
Proprietà | valore |
---|---|
ALLU edizione Standard RS | 2 |
MSIINSTALLPERU edizione Standard R | 1 |
Finestra di dialogo personalizzata per il contesto di installazione
L'interfaccia utente del pacchetto di esempio include un esempio di una finestra di dialogo personalizzata, VerifyReadyDialog, che consente agli utenti di selezionare il contesto di installazione per utente o per computer in fase di installazione. La tabella Dialog contiene un record che descrive la finestra di dialogo VerifyReadyDialog. Il valore immesso nel campo Attributi è 39 perché questa finestra di dialogo usa i bit di stile msidbDialogAttributesVisible (1), msidbDialogAttributesModal (2), msidbDialogAttributesMinimize (4) e msidbDialogAttributesTrackDiskSpace (32). Nella barra del titolo della finestra di dialogo viene visualizzato un titolo specificato dal valore della proprietà ProductName.
Tabella finestra di dialogo (parziale)
Dialog | HCentering | VCentering | Larghezza | Altezza | Attributi | Title | Control_First | Control_Default | Control_Cancel |
---|---|---|---|---|---|---|---|---|---|
VerifyReadyDialog | 50 | 50 | 480 | 280 | 39 | [ProductName] | InstallPerUser | Avanti | Annullamento |
La tabella Control contiene voci per i controlli visualizzati dalla finestra di dialogo VerifyReadyDialog. Nella finestra di dialogo vengono visualizzati i controlli PushButton e un controllo Testo . Tutti i controlli usano gli attributi del controllo msidbControlAttributesEnabled (2) e msidbControlAttributesVisible (1). Il controllo InstallPerMachine usa anche l'attributo di controllo ElevationShield , msidbControlAttributesElevationShield (8388608.) Questo attributo di controllo aggiunge l'icona di elevazione dell'account utente (icona di schermata) al controllo InstallPerMachine e informa l'utente che le credenziali di Controllo dell'account utente sono necessarie per installare l'applicazione nel contesto per computer. Il valore nel campo Testo della tabella Control è lo stile di testo e il testo visualizzato dal controllo. Per altre informazioni sull'aggiunta di testo a un controllo tramite stili predefiniti, vedere la descrizione del campo Testo nell'argomento Tabella di controllo.
Tabella di controllo (parziale)
Dialogo_ | Controllo | Type | Attributo | Testo | Control_Next |
---|---|---|---|---|---|
VerifyReadyDialog | Annullamento | Pulsante | 3 | {\Tahoma10}&Cancel | Avanti |
VerifyReadyDialog | Precedente | Pulsante | 3 | {\Tahoma10}<<&Precedente | Annullamento |
VerifyReadyDialog | Avanti | Pulsante | 3 | {\Tahoma10}&Next >> | InstallPerUser |
VerifyReadyDialog | Text2 | Testo | 3 | Sei pronto per completare l'installazione sospesa? | |
VerifyReadyDialog | InstallPerUser | Pulsante | 3 | {\Tahoma10} Installa solo per &me | InstallPerMachine |
VerifyReadyDialog | InstallPerMachine | Pulsante | 8388611 | {\Tahoma10} Installa per &Everyone | Precedente |
VerifyReadyDialog | Annullamento | Pulsante | 3 | {\Tahoma10}&Cancel | Avanti |
La tabella ControlEvent specifica gli eventi ControlEvent o le azioni eseguite dal programma di installazione quando l'utente interagisce con un controllo. Quando un utente attiva il pulsante di push InstallPerUser, l'interfaccia utente visualizza una finestra di dialogo OutOfDisk se la proprietà OutOfDiskSpace è 1, imposta il valore della proprietà MSIINSTALLPERU edizione Standard R su 1, imposta il valore della proprietà ALLU edizione Standard RS su 2, imposta la proprietà MSIFASTINSTALL su 1 e restituisce . Poiché la proprietà MSIFASTINSTALL è impostata, non viene generato alcun punto di ripristino di sistema per l'installazione. Quando un utente attiva il pulsante di push InstallPerMachine, l'interfaccia utente visualizza una finestra di dialogo OutOfDisk se la proprietà OutOfDiskSpace è 1, imposta il valore della proprietà ALLU edizione Standard RS su 1 e restituisce .
Tabella ControlEvent (parziale)
Dialogo_ | Controllo_ | Evento | Argomento | Condizione | Ordinamento |
---|---|---|---|---|---|
VerifyReadyDialog | InstallPerUser | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerUser | EndDialog | Restituzione | OutOfDiskSpace <> 1 | 5 |
VerifyReadyDialog | InstallPerUser | [MSIINSTALLPERU edizione Standard R] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [ALLU edizione Standard RS] | 2 | 1 | 3 |
VerifyReadyDialog | InstallPerMachine | SpawnDialog | OutOfDisk | OutOfDiskSpace = 1 | 1 |
VerifyReadyDialog | InstallPerMachine | EndDialog | Restituzione | OutOfDiskSpace <> 1 | 3 |
VerifyReadyDialog | InstallPerMachine | [ALLU edizione Standard RS] | 1 | 1 | 2 |
VerifyReadyDialog | InstallPerUser | [MSIFASTINSTALL] | 1 | 1 | 4 |
Il controllo InstallPerUser deve essere rimosso dall'interfaccia utente di qualsiasi installazione usando una versione di Windows Installer precedente a Windows Installer Windows Installer 5.0. La tabella ControlCondition nel pacchetto di esempio contiene quattro voci che disabilitano e nascondono il controllo InstallPerUser se la versione corrente è minore di Windows Installer 5.0. La tabella usa il valore della proprietà VersionMsi e la sintassi dell'istruzione condizionale per definire questa condizione. L'azione specificata nel campo Azione viene eseguita solo se l'istruzione nel campo Condizione è true.
Tabella ControlCondition (parziale)
Dialogo_ | Controllo_ | Azione | Condizione |
---|---|---|---|
VerifyReadyDialog | InstallPerUser | Abilitazione | VersionMsi >= "5.00" |
VerifyReadyDialog | InstallPerUser | Disabilita | VersionMsi < "5.00" |
VerifyReadyDialog | InstallPerUser | Mostra | VersionMsi >= "5.00" |
VerifyReadyDialog | InstallPerUser | Nascondi | VersionMsi < "5.00" |
Specifica della struttura di directory
Usare l'editor di database per esaminare la tabella Directory di PUASample1.msi. Il record della tabella directory con una stringa vuota nel campo Directory_Parent rappresenta la directory radice degli alberi delle directory di origine e di destinazione. Se la proprietà TARGETDIR non è definita, il programma di installazione imposta il valore in fase di installazione sul valore della proprietà ROOTDRIVE. Se la proprietà SourceDir non è definita, il programma di installazione imposta il relativo valore sul percorso della directory contenente il pacchetto windows Installer (file con estensione msi). I nomi di directory vengono specificati utilizzando il formato short|long.
Tabella directory (parziale)
Directory | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
ProgramFilesFolder | TARGETDIR | . |
ProgramMenuFolder | TARGETDIR | . |
INSTALLLOCATION | MyVendor | Sample1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft |Microsoft |
Nell'origine, questa tabella directory viene risolta nei percorsi di directory seguenti.
- \[SourceDir\]\\Msft\\Sample1 \[SourceDir\]
Nella destinazione la tabella Directory viene risolta nei percorsi nella tabella seguente. Il programma di installazione imposta i valori delle proprietà ProgramFilesFolder e ProgramMenuFolder in percorsi che dipendono dal contesto di installazione e dal fatto che il sistema sia la versione a 32 bit o a 64 bit di Windows Server 2008 R2 e Windows 7. I percorsi delle cartelle di destinazione dipendono dal fatto che l'utente selezioni un'installazione per utente o per computer.
Contesto di installazione | System | Esempi di percorso |
---|---|---|
Per computer | Windows Server 2008 R2 e Windows 7 Versione a 32 bit |
%ProgramFiles%\Msft\Sample1 %ALLU edizione Standard RSPROFILE%\Microsoft\Windows\Menu Start\Programmi |
Per computer | Windows Server 2008 R2 e Windows 7 Versione a 64 bit |
%ProgramFiles(x86)%\Msft\Sample1 %ALLU edizione Standard RSPROFILE%\Microsoft\Windows\Menu Start\Programmi |
Per utente | Windows Server 2008 R2 e Windows 7 Versione a 32 bit o a 64 bit |
%U edizione Standard RPROFILE%\AppData\Local\Programs\Msft\Sample1 %APPDATA%\Microsoft\Windows\Menu Start\Programmi |
Le applicazioni per utente devono essere archiviate in sottocartelle nella cartella Programmi specificata dal valore della proprietà ProgramFilesFolder. In genere, il percorso dell'applicazione assume il formato seguente.
%LOCALAPPDATA%\Programs\ISV name\AppName.
I dati di configurazione per utente devono essere archiviati nella cartella Programmi specificata dal valore della proprietà ProgramMenuFolder. In genere, questa cartella si trova nel percorso seguente.
%APPDATA%\Microsoft\Windows\Menu Start\Programmi
Se si installano componenti del pacchetto Windows Installer a 32 bit, utilizzare la proprietà ProgramFilesFolder e CommonFilesFolder nella tabella Directory. Se si installano componenti del pacchetto Windows Installer a 64 bit, utilizzare le proprietà ProgramFiles64Folder e CommonFiles64Folder. Se l'applicazione contiene versioni a 32 bit e a 64 bit dello stesso componente, con lo stesso nome, assicurarsi che queste versioni vengano salvate in directory diverse o assegnare nomi diversi.
La tabella Directory seguente fornisce un esempio di layout di directory compatibile con un pacchetto che include componenti a 32 bit e a 64 bit e include alcuni componenti condivisi tra applicazioni.
Directory | 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 | Sample1|MSDN-PUASample1 |
INSTALLLOCATIONX64 | Vendorx64 | Sample1|MSDN-PUASample1 |
SHAREDLOCATION | ShVendor | Sample1|MSDN-PUASample1 |
SHAREDLOCATIONX64 | ShVendorx64 | Sample1|MSDN-PUASample1 |
MyVendor | ProgramFilesFolder | Msft |Microsoft |
Vendorx64 | ProgramFiles64Folder | Msft |Microsoft |
ShVendor | CommonFilesFolder | Msft |Microsoft |
ShVendorx64 | CommonFiles64Folder | Msft |Microsoft |
Shrx86 | SHAREDLOCATION | Componenti x32|32 bit |
Shrx64 | SHAREDLOCATIONX64 | Componenti x64|64 bit |
Binx86 | INSTALLLOCATION | Componenti x32|32 bit |
Binx64 | INSTALLLOCATIONX64 | Componenti x64|64 bit |
App32 | Binx86 | componenti myapp|unshared a 32 bit |
App64 | Binx64 | myapp|Componenti a 64 bit non condivisi |
Share32 | Shrx86 | componenti condivisi|condivisi a 32 bit |
Share64 | Shrx64 | componenti condivisi|condivisi a 64 bit |
Nell'origine, questa tabella directory viene risolta nei percorsi di directory seguenti.
- \[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
Nella destinazione questa tabella directory viene risolta nei percorsi di directory seguenti. I percorsi di destinazione dipendono dal contesto di installazione e dal sistema.
Contesto di installazione | System | Esempi di percorso |
---|---|---|
Per computer | Windows Server 2008 R2 e Windows 7 Versione a 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\Menu Start\Programmi\Sample1 |
Per computer | Windows Server 2008 R2 e Windows 7 Versione a 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\Menu Start\Programmi\Sample1 |
Per utente | Windows Server 2008 R2 e Windows 7 Versione a 32 bit o a 64 bit |
%LOCALAPPDATA%\Programs\Msft\Sample1\x32\myapp %LOCALAPPDATA%\Programmi\Common\Msft\Sample1\x32\shared %LOCALAPPDATA%\Programmi\Msft\Sample1\x64\myapp %LOCALAPPDATA%\Programmi\Common\Msft\Sample1\x64\shared %APPDATA%\Microsoft\Windows\Menu Start\Programmi\Sample1 |
Registrazione dell'applicazione
PUASample.msi aggiunge una sottochiave alla chiave del Registro di sistema Percorsi app per l'applicazione ed esegue registrazioni che consentono di salvare le informazioni dell'applicazione nel Registro di sistema in questa chiave. Per altre informazioni sui percorsi dell'app e sulla registrazione dell'applicazione, vedere la sezione PerceivedTypes, SystemFileAssociations e Application Registration (Registrazione dell'applicazione) nella sezione relativa all'estendibilità della shell della Guida per sviluppatori della shell. Al momento dell'installazione, l'utente decide di installare l'applicazione nel contesto di installazione per utente o per computer. Al momento della creazione del pacchetto a doppio scopo, lo sviluppatore del pacchetto non può sapere se le registrazioni devono essere eseguite con le chiavi HKEY_LOCAL_MACHINE o HKEY_CURRENT_Uedizione Standard R.
Lo sviluppatore del pacchetto definisce l'identificatore di file per il file eseguibile dell'applicazione nel campo File della tabella file .
Tabella file (parziale)
file | Componente_ | FileName | FileSize | Versione | Lingua | Attributi | Sequence |
---|---|---|---|---|---|---|---|
MyAppFile | ProductComponent | PUASAMP1.EXE|PUASample1.exe | 81920 | 0 | 1 |
I valori da salvare nel Registro di sistema possono essere specificati nel campo Valore della tabella Del Registro di sistema come stringa formattata . Usare l'identificatore di file definito nel campo File della tabella File e la convenzione [#filekey] del tipo formattato per specificare il valore predefinito per la chiave del Registro di sistema Percorsi app. L'azione INSTALL di primo livello esegue le azioni nella tabella InstallExecuteSequence. Al termine delle azioni CostInitialize, FileCost e InstallFinalize in questa tabella, Windows Installer sostituisce la sottostringa formattata [#MyAppFile] nella tabella Registro di sistema con il percorso completo del file dell'applicazione.
L'esempio definisce una proprietà personalizzata, RegRoot, per contenere il percorso della chiave radice e usa un'azione personalizzata per reimpostare il valore della proprietà se l'utente sceglie un'installazione per computer. Usare la proprietà personalizzata RegRoot in qualsiasi valore stringa formattato che faccia riferimento alla posizione radice. Nella tabella Property il pacchetto PUASample.msi definisce la proprietà personalizzata e imposta il valore di RegRoot su HKCU. Inizializza il valore della proprietà per il contesto di installazione per utente, il contesto predefinito consigliato per i pacchetti a doppio scopo.
Tabella delle proprietà (parziale)
Proprietà | valore |
---|---|
RegRoot | HKCU |
Nella tabella CustomAction il pacchetto definisce un'azione personalizzata denominata Set_RegRoot_HKLM. Il valore nel campo Tipo lo identifica come azione personalizzata tipo di azione personalizzata 51 standard. Il significato dei campi Origine e Destinazione nella tabella CustomAction dipende dal tipo di azione personalizzato. Per altre informazioni sui tipi standard di azioni personalizzate, vedere Tipi di azione personalizzati. Il campo Origine per l'azione personalizzata Set_RegRoot_HKLM specifica che il valore della proprietà RegRoot. Se il programma di installazione esegue l'azione personalizzata Set_RegRoot_HKLM, il valore della proprietà RegRoot viene reimpostato su HKLM.
Tabella CustomAction (parziale)
Azione | Type | Source | Target |
---|---|---|---|
Set_RegRoot_HKLM | 51 | [RegRoot] | HKLM |
L'azione INSTALL di primo livello esegue le azioni nella tabella InstallExecuteSequence, nella sequenza specificata nel campo Sequenza di tale tabella. Il valore creato nel campo Sequenza per l'azione personalizzata Set_RegRoot_HKLM (1501) specifica che questa azione personalizzata deve essere eseguita dopo l'azione InstallInitialize (1500) e prima dell'azione ProcessComponents (1600). Questa sequenza garantisce che il record per l'azione personalizzata Set_RegRoot_HKLM venga valutato in fase di installazione. Per altre informazioni sulla sequenza consigliata di azioni nella tabella InstallExecuteSequence, vedere l'argomento Suggested InstallExecuteSequence . La sintassi dell'istruzione condizionale creata nel campo Condizione specifica che l'azione Set_RegRoot_HKLM deve essere eseguita solo se il valore della proprietà ALLU edizione Standard RS restituisce 1 al momento dell'installazione. Il valore della proprietà ALLU edizione Standard RS pari a 1 specifica un'installazione per computer.
Tabella InstallExecuteSequence (parziale)
Azione | Condizione | Sequence |
---|---|---|
Set_RegRoot_HKLM | ALLU edizione Standard RS=1 | 1501 |
I record seguenti nella tabella Registry eseguono le registrazioni se è installato il componente ProductComponent. Il valore -1 nel campo Radice è necessario per eseguire la registrazione in HKEY_LOCAL_MACHINE per un'installazione per utente e in HKEY_CURRENT_Uedizione Standard R per un'installazione per utente. Il record con una stringa vuota nel campo Registro di sistema aggiunge una sottochiave per l'applicazione nella chiave del Registro di sistema AppPaths e imposta il valore "(Default)" sul percorso completo del file eseguibile dell'applicazione. La registrazione myAppPathAlias esegue il mapping del file eseguibile a un alias dell'applicazione e consente l'avvio dell'applicazione se l'utente digita l'alias "puapct" al prompt della riga di comando. La registrazione myAppPathRegistration esegue il mapping del nome del file eseguibile al percorso completo del file.
Registro | Radice | Key | Nome | valore | Componente |
---|---|---|---|---|---|
-1 | Software\Microsoft\MyAppPathRegistrationLocation | [RegRoot]\Software\Microsoft\Windows\CurrentVersion\App Paths\PUAPCT.exe | ProductComponent | ||
MyAppPathAlias | -1 | Software\Microsoft\Windows\CurrentVersion\Percorsi app\PUAPCT.exe | [#MyAppFile] | ProductComponent | |
MyAppPathRegistration | -1 | Software\Microsoft\Windows\CurrentVersion\Percorsi app\PUASample1.exe | [#MyAppFile] | ProductComponent |
Registrazione di annullamento autoPlay
PUASample.msi esegue registrazioni che consentono all'utente dell'applicazione di impedire l'avvio di Riproduzione automatica hardware per i dispositivi selezionati. Per informazioni sulla registrazione di un gestore per annullare la riproduzione automatica in risposta a un evento, vedere l'argomento Preparazione dell'hardware e del software per l'uso con AutoPlay nella sezione estendibilità della shell della Guida per sviluppatori della shell. Il record seguente registra il gestore specificato nel campo Name quando viene installato il componente ProductComponent. Il valore -1 nel campo Radice è necessario per specificare a Windows Installer che la registrazione deve essere reindirizzata a un percorso che dipende dal contesto di installazione.
Tabella del Registro di sistema
Registro | Radice | Key | Nome | valore | Componente |
---|---|---|---|---|---|
MyAutoplayCancelRegistration | -1 | SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\CLSID | 66A32FE6-229D-427b-A608-D273F40C034C | ProductComponent |
Registrazione del gestore di anteprima
PUASample.msi esegue registrazioni necessarie per installare un gestore di anteprima che consente un'anteprima di sola lettura dei file con estensione pua senza avviare l'applicazione. Per informazioni sulla registrazione dei gestori di anteprima, vedere l'argomento Registrazione dei gestori di anteprima nella sezione relativa all'estendibilità della shell della Guida per gli sviluppatori di Shell. I record seguenti nella tabella Registry registrano il gestore quando viene installato il componente ProductComponent. Il valore -1 nel campo Radice è necessario per specificare a Windows Installer che la registrazione deve essere reindirizzata a un percorso che dipende dal contesto di installazione.
Tabella del Registro di sistema
Registro | Radice | Key | Nome | valore | Componente |
---|---|---|---|---|---|
MyPreviewHandlerRegistration1 | -1 | Software\Classes\.pua | puafile | ProductComponent | |
MyPreviewHandlerRegistration2 | -1 | Software\Microsoft\Windows\CurrentVersion\PreviewHandlers | {1531d583-8375-4d3f-b5fb-d23bbd169f22} | Gestore dell'anteprima di Microsoft Windows PUA TEST | 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} | Gestore anteprima per utente applicaton sample 1 (Anteprima) | 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 | Appartamento | 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 |