Uso di Windows Installer con un Terminal Server
Le seguenti condizioni potrebbero influenzare le installazioni di Windows Installer quando si utilizza un server terminal. Gli sviluppatori di installazione devono sempre verificare che il pacchetto di Windows Installer venga installato come previsto quando gli utenti usano anche un server terminal.
- Nei sistemi operativi precedenti a Windows Server 2008 e Windows Vista, i criteri di sistema EnableAdminTSRemote devono essere impostati per consentire agli amministratori di eseguire installazioni nella sessione client. A partire da Windows Server 2008 e Windows Vista, il criterio EnableAdminTSRemote non ha più alcun effetto. Indipendentemente dall'impostazione, gli amministratori e i non amministratori possono eseguire un'installazione nella sessione client o nella sessione della console. Gli amministratori e i non amministratori possono sempre eseguire installazioni di Windows Installer nella sessione della console.
- Windows Installer impedisce l'installazione nel contesto di installazione per utente se il DisableUserInstallscriterio di sistema è impostato su 1. In questo caso, il programma di installazione ignora tutte le applicazioni registrate per utente e cerca solo le applicazioni registrate come per computer.
- Quando un amministratore esegue un'installazione in una sessione client di un server terminal ospitato in Windows 2000, l'installazione deve usare un percorso UNC e non una lettera di unità mappata.
Gli sviluppatori devono rispettare le linee guida seguenti durante lo sviluppo di un componente Windows Installer che può essere usato con un server terminal.
- Scrivere tutte le informazioni del registro HKCU nella parte HKCU\Software del registro.
- Non è consigliabile archiviare le informazioni di configurazione nei file INI.
- Scrivere le informazioni per utente nel Registro di sistema quando l'applicazione viene eseguita per la prima volta e non al momento dell'installazione. Se è necessario scrivere informazioni per utente nel Registro di sistema in fase di installazione, separare le informazioni per utente e per computer in diversi componenti di Windows Installer. Creare il pacchetto in modo che il programma di installazione non tenti di convalidare e ripristinare i componenti contenenti informazioni per utente quando l'applicazione viene installata.
- Un pacchetto usato solo per le installazioni per computer deve scrivere variabili di ambiente nell'ambiente del computer includendo * nella colonna Nome della tabella dell'ambiente . Se il pacchetto può essere usato per installazioni per utente o installazioni per computer, usare due componenti. Includere il componente per utente nella tabella componenti e immettere le impostazioni utente nella tabella dell'ambiente. Includere il componente per macchina nella Tabella Componenti e immettere le impostazioni del computer nella Tabella Ambiente. Controllare quale componente viene installato usando istruzioni condizionali in base alla proprietà ALLUSERS nel campo Condizione della tabella componente.
- Quando si eseguono installazioni per computer da un server terminal, il programma di installazione scrive le variabili di ambiente per utente in HKCU\.Default\Environment. Poiché il server terminal non replica questa sezione del Registro di sistema, l'installazione non imposta le variabili di ambiente per utente.
- Poiché un server può essere configurato per impedire agli utenti di ripristinare le applicazioni, l'applicazione deve gestire correttamente il caso di chiavi del Registro di sistema mancanti.
Quando un pacchetto di Windows Installer che utilizza azioni personalizzate con DLL, EXE o script viene installato nel contesto di installazione per macchina su un server terminal, quanto segue si applica. In questo caso, il programma di installazione imposta la proprietà TerminalServer.
- Le azioni personalizzate posticipate vengono eseguite nel contesto del sistema locale, a meno che l'azione non disponga dell'attributo msidbCustomActionTypeTSA ware. Questo vale anche se l'azione personalizzata rappresenta l'utente in un sistema che non è un server terminal. Si noti che se un'azione personalizzata con il msidbCustomActionTypeTSAware attributo modifica il Registro di sistema dell'utente, il programma di installazione non garantisce automaticamente che tali modifiche vengano apportate anche nel Registro di sistema di ogni utente nel computer.
- Tutte le operazioni del Registro di sistema in un'azione personalizzata posticipata che leggono dall'hive del Registro di sistema HKCU vedono l'hive del Registro di sistema predefinito del sistema e non l'hive del Registro di sistema dell'utente corrente.
- Qualsiasi operazione del Registro di sistema in un'azione personalizzata differita che scrive in HKCU\Software viene rilevata dal programma di installazione e copiata per tutti gli utenti del computer al prossimo accesso dell'utente.
- Tutte le operazioni del Registro di sistema in un'azione personalizzata posticipata che scrivono in HKCU, ma non si trovano nella chiave del Registro di sistema \Software, non vengono rilevate dal programma di installazione o copiate.
Per altre informazioni, vedere Terminal Services in Microsoft Windows Software Development Kit (SDK).
Argomenti correlati