Condividi tramite


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 interessano tutti gli utenti, gli utenti standard con privilegi limitati possono essere impediti di installare un pacchetto nel contesto per computer senza prima ottenere l'autorizzazione.

È possibile specificare il contesto di installazione creando il pacchetto per ogni utente o per ogni computer e usando le proprietà ALLUSERS e MSIINSTALLPERUSER. In base a queste proprietà, Windows Installer reindirizza automaticamente i valori delle proprietà e delle registrazioni delle cartelle ai percorsi per ogni utente o contesto per 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 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 di pacchetti singoli. 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 su 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 contesti di installazione per utente.

Per-Machine contesto di installazione (ALLUSERS=1) Per-User contesto di installazione (ALLUSERS="")
Le applicazioni vengono visualizzate in Installazione applicazioni nel Pannello di controllo per tutti gli utenti del computer.
Le applicazioni vengono visualizzate solo in Installazione applicazioni nel 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%\Application Data\Microsoft\Installer\{PRODUCTCode GUID}

 

Reindirizzamento del Registro di sistema

Nella tabella seguente vengono confrontati i percorsi delle voci del Registro di sistema per i contesti di installazione per computer e per utente.

Per-Machine contesto di installazione (ALLUSERS=1) Per-User contesto di installazione (ALLUSERS="")
Windows Installer scrive o rimuove i valori del Registro di sistema immessi nella tabella registro di e tabella 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 del Registro di sistema e tabella 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 e tabella RemoveRegistry, con il valore msidbRegistryRootClassesRoot (0) nella colonna Radice, in HKLM\Software\Classi.
Windows Installer scrive o rimuove i valori del Registro di sistema immessi nella tabella del Registro di sistema e tabella RemoveRegistry, con il valore msidbRegistryRootClassesRoot (0) nella colonna Radice, in HKCU\Software\Classi.
La registrazione COM viene scritta in HKLM\Software\Classi.
La registrazione COM viene scritta in HKCU\Software\Classi.

 

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 funzioneSHGetKnownFolderPathe la KNOWNFOLDERID per determinare il percorso completo delle cartelle speciali. Le applicazioni esistenti che usano la funzione shGetFolderPath e gli ID di elementi speciali costanti (CSIDL) continueranno a funzionare.

 

Nella tabella seguente vengono confrontati i percorsi delle cartelle usate quando Windows Installer installa il pacchetto nei contesti di installazione per computer o per utente.

Per-Machine contesto di installazione (ALLUSERS=1) Per-User contesto di installazione (ALLUSERS="")
DesktopFolderPercorso completo della cartella Desktop per tutti gli utenti.
FOLDERID_PublicDesktop (CSIDL_COMMON_DESKTOPDIRECTORY)
DesktopFolderPercorso completo della cartella Desktop per l'utente corrente.
FOLDERID_Desktop (CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY)
ProgramMenuFolderPercorso completo della cartella Menu programma per tutti gli utenti.
FOLDERID_CommonPrograms (CSIDL_COMMON_PROGRAMS)
ProgramMenuFolderPercorso completo della cartella Menu programma per l'utente corrente.
FOLDERID_Programs (CSIDL_PROGRAMS)
StartMenuFolderPercorso completo della cartella Menu Start per tutti gli utenti.
FOLDERID_CommonStartMenu (CSIDL_COMMON_STARTMENU)
StartMenuFolderPercorso completo della cartella Menu Start per l'utente corrente.
FOLDERID_StartMenu (CSIDL_STARTMENU)
StartUpFolderPercorso completo della cartella Start Up per tutti gli utenti.
FOLDERID_CommonStartup (CSIDL_COMMON_STARTUP)
StartUpFolderPercorso completo della cartella Start Up per l'utente corrente.
FOLDERID_Startup (CSIDL_STARTUP)
TemplateFolderPercorso completo della cartella Templates per tutti gli utenti.
FOLDERID_CommonTemplates (CSIDL_COMMON_TEMPLATES)
TemplateFolderPercorso completo della cartella Templates per l'utente corrente.
FOLDERID_Templates (CSIDL_TEMPLATES)
AdminToolsFolderPercorso completo della cartella Strumenti di amministrazione per tutti gli utenti.
FOLDERID_CommonAdminTools (CSIDL_COMMON_ADMINTOOLS)
AdminToolsFolderPercorso completo della cartella Strumenti di amministrazione per l'utente corrente.
FOLDERID_AdminTools (CSIDL_ADMINTOOLS)
AppDataFolderPercorso completo della cartella Menu programma.
Windows Vista e versioni successive: Percorso completo della cartella Roaming.

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

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

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

FOLDERID_Documents (CSIDL_PERSONAL)
SendToFolderPercorso completo della cartella SendTo.
FOLDERID_SendTo (CSIDL_SENDTO)
SendToFolderPercorso completo della cartella SendTo.
FOLDERID_SendTo (CSIDL_SENDTO)
FontsFolderPercorso completo della cartella Tipi di carattere di sistema.
FOLDERID_Fonts (CSIDL_FONTS)
FontsFolderPercorso 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. È 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 Programmi (x86) per tutti gli utenti (ad esempio, %ProgramFiles(x86)%.) L'identificatore per questa cartella è FOLDERID_ProgramFilesX86 (CSIDL_PROGRAM_FILESX86.) È possibile accedere ai file in questa cartella 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%\Programs. 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. I file in questa cartella possono essere accessibili 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. I file in questa cartella possono essere accessibili 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 nel contesto per computer (ad esempio, %ProgramFiles%\Common Files o %ProgramFiles(x86)%\Common Files.) È possibile accedere ai file in questa cartella da tutti gli utenti.

ProgramFiles64FolderIl 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. Si tratta della 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%\Programmi. L'identificatore per questa cartella è FOLDERID_UserProgramFiles. Non esiste alcun identificatore CSIDL equivalente per FOLDERID_UserProgramFiles. I file in questa cartella possono essere accessibili 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.

CommonFiles64FolderIl valore della proprietà è il percorso completo della cartella File comuni per tutti gli utenti, ad esempio %ProgramFiles%\Common Files. Si tratta della 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. I file in questa cartella possono essere accessibili 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%\Common Files. È possibile accedere ai file in questa cartella da tutti gli utenti.

WindowsFolderPercorso completo della cartella di Windows.
FOLDERID_Windows (CSIDL_WINDOWS)
WindowsFolderPercorso completo della cartella di Windows.
FOLDERID_Windows (CSIDL_WINDOWS)
SystemFolderPercorso completo della cartella System.
FOLDERID_SystemX86 (CSIDL_SYSTEMX86)
SystemFolderPercorso completo della cartella System.
FOLDERID_SystemX86 (CSIDL_SYSTEMX86)
LocalAppDataFolderPercorso completo della cartella che contiene applicazioni locali (non diaming).
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
LocalAppDataFolderPercorso completo della cartella che contiene applicazioni locali (non diaming).
FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA)
MyPicturesFolderPercorso completo della cartella Immagini o Immagini personali.
FOLDERID_Pictures (CSIDL_MYPICTURES)
MyPicturesFolderPercorso completo della cartella Immagini o Immagini personali.
FOLDERID_Pictures (CSIDL_MYPICTURES)
PrintHoodFolderPercorso completo della cartella PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
PrintHoodFolderPercorso completo della cartella PrintHood.
FOLDERID_PrintHood (CSIDL_PRINTHOOD)
NetHoodFolderPercorso completo della cartella NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
NetHoodFolderPercorso completo della cartella NetHood.
FOLDERID_NetHood (CSIDL_NETHOOD)
RecentFolderPercorso completo della cartella Recenti.
FOLDERID_Recent (CSIDL_RECENT)
RecentFolderPercorso 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 funzioniMsiGetProductInfoExo msiGetProductInfoExMsiGetProductInfo. Per informazioni, vedere Determinazione del contesto di installazione.