Contesto di installazione

Windows Installer può installare un pacchetto in un computer in due contesti di installazione: per computer e per utente. È necessaria un'installazione per computer del pacchetto per consentire a tutti gli utenti del computer di accedere e usare l'applicazione. Poiché un'installazione per computer apporta modifiche al sistema che influisce su tutti gli utenti, gli utenti standard che hanno privilegi limitati possono essere impediti di installare un pacchetto nel contesto per computer senza ottenere prima l'autorizzazione.

È possibile specificare il contesto di installazione creando il pacchetto per ogni utente o per ogni installazione del computer e usando le proprietà ALLUSERS e MSIINSTALLPERUSER . In base a queste proprietà, Windows Installer reindirizza automaticamente i valori delle proprietà delle cartelle e delle registrazioni alle posizioni per ogni utente o per ogni contesto di computer.

Nota

La proprietà MSIINSTALLPERUSER , disponibile a partire da Windows Installer 5.0 e Windows Server 2008 R2 e Windows 7, può facilitare lo sviluppo di un singolo pacchetto in grado di essere installato nel contesto per ogni computer o per utente. Per informazioni sullo sviluppo di un pacchetto a doppio scopo che offre all'utente la possibilità di scegliere il contesto di installazione in fase di installazione, vedere Creazione pacchetto singolo. Windows Installer ignora la proprietà MSIINSTALLPERUSER se il valore di ALLUSERS non è 2. Windows Installer reimposta sempre il valore di ALLUSERS su 1 quando viene installato nel contesto per computer e reimposta il valore di ALLUSERS in una stringa vuota ("") quando viene installato nel contesto per utente.

 

Reindirizzamento collegamenti

Nella tabella seguente vengono confrontate le posizioni dei collegamenti per ogni computer e i contesti di installazione per utente.

contesto di installazione Per-Machine (ALLUSERS=1) Per-User Contesto di installazione (ALLUSERS="")
Le applicazioni vengono visualizzate in Aggiungi/Rimuovi programmi in Pannello di controllo per tutti gli utenti del computer.
Le applicazioni vengono visualizzate solo in Aggiungi/Rimuovi programmi in Pannello di controllo per gli utenti che hanno installato le applicazioni.
I collegamenti vengono installati nel profilo Tutti gli utenti.
I collegamenti vengono installati solo nel profilo dell'utente.
Le icone e le trasformazioni vengono archiviate in %WINDOWS%\Installer\{ProductCode}.
Le icone e le trasformazioni vengono archiviate in %USERPROFILE%\Dati applicazione\Microsoft\Installer\{GUID di ProductCode}

 

Reindirizzamento del Registro di sistema

Nella tabella seguente vengono confrontate le posizioni delle voci del Registro di sistema per ogni computer e per ogni utente.

contesto di installazione Per-Machine (ALLUSERS=1) Per-User Contesto di installazione (ALLUSERS="")
Windows Installer scrive o rimuove i valori del Registro di sistema immessi nella tabella Registro di sistema e RemoveRegistry , con il valore -1 nella colonna Radice, in HKEY_LOCAL_MACHINE.
Windows Installer scrive o rimuove i valori del Registro di sistema immessi nella tabella Registro di sistema e RemoveRegistry , con il valore -1 nella colonna Radice, in HKEY_CURRENT_USER.
Windows Installer scrive o rimuove i valori del Registro di sistema immessi nella tabella Registro di sistema e RemoveRegistry, con il valore msidbRegistryRootClassesRoot (0) nella colonna Radice, inClassisoftware\HKLM\.
Windows Installer scrive o rimuove i valori del Registro di sistema immessi nella tabella Registro di sistema e RemoveRegistry, con il valore msidbRegistryRootClassesRoot (0) nella colonna Radice, inClassisoftware\HKCU\.
La registrazione COM viene scritta nelleclassisoftware\HKLM\.
La registrazione COM viene scritta nelleclassisoftware\HKCU\.

 

Reindirizzamento cartelle

Windows Installer imposta i valori delle proprietà della cartella sul percorso completo della rispettiva cartella per il contesto di installazione.

Nota

Le cartelle vengono identificate dalle costanti KNOWNFOLDERID e CSIDL . A partire da Windows Vista, le applicazioni devono usare la funzione SHGetKnownFolderPath e il KNOWNFOLDERID per determinare il percorso completo delle cartelle speciali. Le applicazioni esistenti che usano la funzione SHGetFolderPath e gli ID elemento speciale costanti (CSIDL) continueranno a funzionare.

 

Nella tabella seguente vengono confrontate le posizioni delle cartelle usate quando Windows Installer installa il pacchetto nei contesti di installazione per computer o per utente.

contesto di installazione Per-Machine (ALLUSERS=1) Per-User Contesto di installazione (ALLUSERS="")
DesktopFolder Percorso completo della cartella Desktop per tutti gli utenti.
FOLDERID_PublicDesktop (CSIDL_COMMON_DESKTOPDIRECTORY)
DesktopFolder Percorso completo della cartella Desktop per l'utente corrente.
FOLDERID_Desktop (CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY)
ProgramMenuFolder Percorso completo della cartella Menu programma per tutti gli utenti.
FOLDERID_CommonPrograms (CSIDL_COMMON_PROGRAMS)
ProgramMenuFolder Percorso completo della cartella Menu programma per l'utente corrente.
FOLDERID_Programs (CSIDL_PROGRAMS)
StartMenuFolder Percorso completo della cartella Menu Start per tutti gli utenti.
FOLDERID_CommonStartMenu (CSIDL_COMMON_STARTMENU)
StartMenuFolder Percorso completo della cartella Menu Start per l'utente corrente.
FOLDERID_StartMenu (CSIDL_STARTMENU)
StartUpFolder Percorso completo della cartella Start Up per tutti gli utenti.
FOLDERID_CommonStartup (CSIDL_COMMON_STARTUP)
StartUpFolder Percorso completo della cartella Start Up per l'utente corrente.
FOLDERID_Startup (CSIDL_STARTUP)
TemplateFolder Percorso completo della cartella Modelli per tutti gli utenti.
FOLDERID_CommonTemplates (CSIDL_COMMON_TEMPLATES)
TemplateFolder Percorso completo della cartella Modelli per l'utente corrente.
FOLDERID_Templates (CSIDL_TEMPLATES)
AdminToolsFolder Percorso completo della cartella strumenti di Amministrazione per tutti gli utenti.
FOLDERID_CommonAdminTools (CSIDL_COMMON_ADMINTOOLS)
AdminToolsFolder Percorso completo della cartella strumenti di Amministrazione per l'utente corrente.
FOLDERID_AdminTools (CSIDL_ADMINTOOLS)
AppDataFolder Percorso completo della cartella Menu programma.
Windows Vista e versioni successive: Percorso completo della cartella Roaming.

FOLDERID_RoamingAppData (CSIDL_APPDATA)
AppDataFolder Percorso completo della cartella Menu programma.
Windows Vista e versioni successive: Percorso completo della cartella Roaming.

FOLDERID_RoamingAppData (CSIDL_APPDATA)
CommonAppDataFolder Percorso completo della cartella contenente i dati dell'applicazione per tutti gli utenti.
FOLDERID_ProgramData (CSIDL_COMMON_APPDATA)
CommonAppDataFolder Percorso completo della cartella contenente i dati dell'applicazione per tutti gli utenti.
FOLDERID_ProgramData (CSIDL_COMMON_APPDATA)
PreferitiFolder Percorso completo della cartella Preferiti per l'utente corrente.
FOLDERID_Favorites (CSIDL_FAVORITES)
PreferitiFolder Percorso completo della cartella Preferiti per l'utente corrente.
FOLDERID_Favorites (CSIDL_FAVORITES)
PersonalFolder Percorso completo della cartella Documenti personali o Della cartella Personale per l'utente corrente.
Windows Vista e versioni successive: Percorso completo della cartella Documenti per l'utente corrente.

FOLDERID_Documents (CSIDL_PERSONAL)
PersonalFolder Percorso completo della cartella Documenti personali o Della cartella Personale per l'utente corrente.
Windows Vista e versioni successive: Percorso completo della cartella Documenti per l'utente corrente.

FOLDERID_Documents (CSIDL_PERSONAL)
SendToFolder Percorso completo della cartella SendTo.
FOLDERID_SendTo (CSIDL_SENDTO)
SendToFolder Percorso completo della cartella SendTo.
FOLDERID_SendTo (CSIDL_SENDTO)
FontFolder Percorso completo della cartella Tipi di carattere di sistema.
FOLDERID_Fonts (CSIDL_FONTS)
FontFolder Percorso completo della cartella Tipi di carattere di sistema.
FOLDERID_Fonts (CSIDL_FONTS)
ProgramFilesFolderversione a 32 bit di Windows: il valore della proprietà è il percorso completo della cartella Programmi per tutti gli utenti,ad esempio %ProgramFiles%.) L'identificatore per questa cartella è FOLDERID_ProgramFiles (CSIDL_PROGRAM_FILES.) Gli identificatori FOLDERID_ProgramFiles e FOLDERID_ProgramFilesX86 rappresentano la stessa cartella. I file in questa cartella possono essere accessibili da tutti gli utenti.
Versione a 64 bit di Windows: Il valore della proprietà è il percorso completo della cartella Programmi (x86) per tutti gli utenti ,ad esempio %ProgramFiles(x86)%.) L'identificatore per questa cartella è FOLDERID_ProgramFilesX86 (CSIDL_PROGRAM_FILESX86.) I file in questa cartella possono essere accessibili da tutti gli utenti.
ProgramFilesFolderWindows Server 2008 R2 e Windows 7: il valore della proprietà è il percorso completo della cartella Programmi per l'utente corrente, ad esempio %LocalAppData%\Programmi. L'identificatore per questa cartella è FOLDERID_UserProgramFiles nei sistemi a 32 bit e a 64 bit. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_UserProgramFiles. È possibile accedere ai file in questa cartella solo dall'utente che ha installato questa cartella.
Windows Server 2008 e versioni precedenti e Windows Vista e versioni precedenti: Non è disponibile alcuna cartella con supporto per utente. Il percorso è uguale a quello del contesto per computer, ad esempio %ProgramFiles% o %ProgramFiles(x86)%.) È possibile accedere ai file in questa cartella da tutti gli utenti.

CommonFilesFolderversione a 32 bit di Windows: il valore della proprietà è il percorso completo della cartella File comuni per tutti gli utenti ,ad esempio %ProgramFiles%\Common Files. L'identificatore per questa cartella è FOLDERID_ProgramFilesCommon (CSIDL_PROGRAM_FILES_COMMON). Gli identificatori FOLDERID_ProgramFilesCommon e FOLDERID_ProgramFilesCommonX86 rappresentano la stessa cartella. È possibile accedere ai file in questa cartella da tutti gli utenti.
Versione a 64 bit di Windows: Il valore della proprietà è il percorso completo della cartella File comuni per tutti gli utenti, ad esempio %ProgramFiles(x86)%\Common Files. L'identificatore per questa cartella è FOLDERID_ProgramFilesCommonX86 (CSIDL_PROGRAM_FILES_COMMONX86. È possibile accedere ai file in questa cartella da tutti gli utenti.
CommonFilesFolderWindows Server 2008 R2 e Windows 7: il valore della proprietà è il percorso completo della cartella Common per l'utente corrente,ad esempio %LocalAppData%\Programs\Common. L'identificatore per questa cartella è FOLDERID_UserProgramFilesCommon nei sistemi a 32 bit e a 64 bit. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_UserProgramFilesCommon. È possibile accedere ai file in questa cartella solo dall'utente che ha installato questa cartella.
Windows Server 2008 e versioni precedenti e Windows Vista e versioni precedenti: Non è disponibile alcuna cartella con supporto per utente. Il percorso è lo stesso del contesto per computer,ad esempio %ProgramFiles%\Common Files o %ProgramFiles(x86)%\Common Files.) È possibile accedere ai file in questa cartella da tutti gli utenti.

ProgramFiles64Folder Il valore della proprietà è il percorso completo della cartella Programmi per tutti gli utenti ,ad esempio %ProgramFiles%.) L'identificatore per questa cartella è FOLDERID_ProgramFilesX64. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_ProgramFilesX64. Questa è la cartella predefinita per i componenti a 64 bit e si applica ai sistemi a 64 bit. È possibile accedere ai file in questa cartella da tutti gli utenti.
ProgramFiles64FolderWindows Server 2008 R2 e Windows 7: il valore della proprietà è il percorso completo della cartella Programmi per l'utente corrente,ad esempio %LocalAppData%\Programs. L'identificatore per questa cartella è FOLDERID_UserProgramFiles. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_UserProgramFiles. È possibile accedere ai file in questa cartella solo dall'utente che ha installato questa cartella.
Windows Server 2008 e versioni precedenti e Windows Vista e versioni precedenti: Non è disponibile alcuna cartella con supporto per utente. Il percorso è uguale a quello del contesto per computer ,ad esempio %ProgramFiles%.) È possibile accedere ai file in questa cartella da tutti gli utenti.

CommonFiles64Folder Il valore della proprietà è il percorso completo della cartella File comuni per tutti gli utenti, ad esempio %ProgramFiles%\Common Files. Questa è la cartella predefinita per i componenti a 64 bit e si applica ai sistemi a 64 bit. L'identificatore per questa cartella è FOLDERID_ProgramFilesCommonX64. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_ProgramFilesCommonX64. È possibile accedere ai file in questa cartella da tutti gli utenti.
CommonFiles64FolderWindows Server 2008 R2 e Windows 7: il valore della proprietà è il percorso completo della cartella Common per l'utente corrente, ad esempio %LocalAppData%\Programs\Common. L'identificatore per questa cartella è FOLDERID_UserProgramFilesCommon. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_UserProgramFilesCommon. È possibile accedere ai file in questa cartella solo dall'utente che ha installato questa cartella.
Windows Server 2008 e versioni precedenti e Windows Vista e versioni precedenti: Non è disponibile alcuna cartella con supporto per utente. Il percorso è identico a quello del contesto per computer, ad esempio %ProgramFiles%\Common Files. È possibile accedere ai file in questa cartella da tutti gli utenti.

WindowsFolder Percorso completo della cartella Windows.
FOLDERID_Windows (CSIDL_WINDOWS)
WindowsFolder Percorso completo della cartella Windows.
FOLDERID_Windows (CSIDL_WINDOWS)
SystemFolder Percorso completo della cartella System.
FOLDERID_SystemX86 (CSIDL_SYSTEMX86)
SystemFolder Percorso completo della cartella System.
FOLDERID_SystemX86 (CSIDL_SYSTEMX86)
LocalAppDataFolder Percorso completo della cartella che contiene applicazioni locali (nonroaming).The full path of the folder that contains local (nonroaming) applications.
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
LocalAppDataFolder Percorso completo della cartella che contiene applicazioni locali (nonroaming).The full path of the folder that contains local (nonroaming) applications.
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
MyPicturesFolder Percorso completo della cartella Immagini o Immagini personali.
FOLDERID_Pictures (CSIDL_MYPICTURES)
MyPicturesFolder Percorso completo della cartella Immagini o Immagini personali.
FOLDERID_Pictures (CSIDL_MYPICTURES)
PrintHoodFolder Percorso completo della cartella PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
PrintHoodFolder Percorso completo della cartella PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
NetHoodFolder Percorso completo della cartella NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
NetHoodFolder Percorso completo della cartella NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
RecentFolder Percorso completo della cartella Recenti.
FOLDERID_Recent (CSIDL_RECENT)
RecentFolder Percorso completo della cartella Recenti.
FOLDERID_Recent (CSIDL_RECENT)

 

Nota

Un'applicazione può chiamare le funzioni MsiEnumProducts o MsiEnumProductsEx per enumerare tutti i prodotti installati nel sistema. L'applicazione può quindi recuperare informazioni sul contesto di installazione di questi prodotti chiamando le funzioni MsiGetProductInfoEx o MsiGetProductInfo . Per informazioni, vedere Determinazione del contesto di installazione.