Informazioni sull'integrazione di applicazioni in ambiente Terminal Server

Traduzione articoli Traduzione articoli
Identificativo articolo: 186498 - Visualizza i prodotti a cui si riferisce l?articolo.
Importante In questo articolo sono contenute informazioni su come modificare il Registro di sistema. Prima di modificare il Registro di sistema, eseguire una copia di backup e assicurarsi di sapere come ripristinarlo in caso di problemi. Per ulteriori informazioni su come eseguire il backup, ripristinare e modificare il Registro di sistema, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
256986 Descrizione del Registro di sistema di Microsoft Windows
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto il processo di installazione di applicazioni che dovranno essere utilizzate da più utenti in un computer che esegue Terminal Server. A tale proposito vengono fornite linee guida per l'integrazione di applicazioni, vengono descritte le modalità di installazione e di esecuzione e le impostazioni del Registro di sistema che consentono di controllare le applicazioni.

Informazioni

Avviso L'errato utilizzo dell'editor del Registro di sistema può causare gravi problemi che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non è in grado di garantire la risoluzione di problemi causati dall'errato utilizzo dell'editor del Registro di sistema. L'utilizzo dell'editor del Registro di sistema è a rischio e pericolo dell'utente.

Per installare le applicazioni, è necessario accedere al computer che esegue Terminal Server come amministratore. Prima di procedere all'installazione, effettuare il backup dei file SYS e DLL presenti nella directory SystemRoot, ovvero la directory selezionata per installare Terminal Server, nelle directory del sistema operativo e nella directory %SystemRoot%\System32, in quanto alcune applicazioni tentano di inserire i propri file DLL in tali directory.

Se non è possibile effettuare il backup di questi file, utilizzare i seguenti comandi:
DIR\%SystemRoot%\System32 LPT1:
oppure
DIR\%SystemRoot% \System32 Sys32dir.txt
e
DIR\%SystemRoot%\System32 LPT1:
oppure
DIR \%SystemRoot% Winntdir.txt
Se nel corso dell'installazione viene sostituito uno qualsiasi dei file originali di Terminal Server che si riferiscono specificatamente al sistema operativo Terminal Server, potrebbero verificarsi problemi per l'applicazione. Dopo avere completato l'installazione, confrontare le directory e, se necessario, copiare nuovamente alcuni dei file.

Integrazione delle applicazioni

Quando si integra un'applicazione in un ambiente Terminal Server, gli aspetti principali da considerare sono:
  • Installazione e configurazione dell'applicazione
  • Comunicazioni di rete dell'applicazione
  • Prestazioni video dell'applicazione
Alcune applicazioni presentano caratteristiche che, per quanto relativamente innocue in un ambiente in modalità utente singolo, possono causare un degrado delle prestazioni o problemi di incompatibilità con altre applicazioni in un ambiente di presentazione distribuito multiutente basato su Terminal Server. Conoscere ed evitare, dove possibile, queste caratteristiche contribuisce ad assicurare che l'integrazione dell'applicazione nell'ambiente Terminal Server non generi problemi.

Come regola generale, quando si scelgono o si sviluppano applicazioni, è bene attenersi alle linee guida descritte di seguito:
  • Preferire applicazioni Win32 (Windows a 32 bit) anziché Win16 (Windows a 16 bit). Terminal Server esegue le applicazioni Win16 tramite un processo denominato "Win16 su Win32" che causa un consumo del 20% circa in più di risorse da parte di applicazioni Win16 rispetto alle stesse applicazioni Win32.
  • Accedere ai file INI di Windows utilizzando le API di Windows appropriate, in modo che le funzionalità di sincronizzazione dei file INI disponibili in Terminal Server funzionino correttamente.
  • Le applicazioni, in primo luogo le applicazioni MS-DOS, che effettuano il polling di una periferica hardware o della tastiera, anziché attendere un determinato evento, possono produrre effetti negativi sulle prestazioni del sistema. È possibile utilizzare il comando DOSKBD per ottimizzare le applicazioni MS-DOS che effettuano un polling eccessivo della tastiera. Quando possibile, utilizzare API di Windows anziché scrivere codice personalizzato. Molte API di Windows sono state perfezionate mediante una serie di miglioramenti per Terminal Server MultiWin che consentono di supportare senza problemi un ambiente multiutente.
  • Evitare percorsi e identificatori di rete hardcoded.
  • Le applicazioni NetWare devono poter essere eseguite in modalità bindery.
  • Le immagini MS-DOS non sono supportate su client Terminal Server.
  • Evitare di utilizzare bitmap nelle immagini, utilizzare invece immagini grafiche vettoriali. Utilizzare l'operatore raster per eseguire il brushing delle immagini grafiche sullo schermo, se si desidera ottenere prestazioni migliori.
  • I VxD non sono supportati in un ambiente basato su Windows NT, Windows 2000 o Terminal Server.
Alcune di queste linee guida verranno affrontate in dettaglio nelle sezioni che seguono.

Installazione e configurazione dell'applicazione

In un ambiente multiutente, quale un ambiente basato su Terminal Server, è essenziale che tutti gli utenti possano utilizzare contemporaneamente le stesse applicazioni senza interferire con le impostazioni delle preferenze o i dati degli altri utenti.

È innanzitutto necessario assegnare a ciascun utente una home directory univoca, ad esempio C:\Users\%Username%. Sebbene venga creata una home directory predefinita nel profilo di ciascun utente, ciò può causare un considerevole aumento delle dimensioni del profilo dell'utente, che a sua volta può rallentare il processo di accesso e aumentare l'utilizzo delle risorse di sistema.

Per evitare questo problema e consentire il funzionamento corretto delle applicazioni, utilizzare User Manager per domini per assegnare una diversa home directory a ciascun utente.

Per configurare gli utenti esistenti in modo che utilizzino home directory diverse, attenersi alla procedura seguente:
  1. Accedere come amministratore e avviare User Manager per domini.
  2. Se si è effettuato l'accesso al dominio e si desidera cambiare le impostazioni per gli utenti locali, scegliere Seleziona dominio dal menu Utente, quindi digitare il nome del computer Terminal Server su cui si trovano gli account utente.
  3. Fare clic sugli account utente che si desidera modificare. Per selezionare più account utente, tenere premuto MAIUSC mentre si utilizzano le frecce SU e GIÙ. Per selezionare tutti gli account utente di un determinato gruppo, scegliere Seleziona utenti dal menu Utente.
  4. Scegliere Proprietà dal menu Utente.
  5. Fare clic su Profilo.
  6. Fare clic sull'opzione Percorso locale, quindi digitare il seguente comando:
    unità:\Users\%Username%
    Dove unità è l'unità in cui è installato Terminal Server, in genere l'unità C, e Users è la directory creata dal sistema per le home directory.

    Nota: sebbene Users sia la directory creata come home directory, è possibile creare e utilizzare qualsiasi altra directory.
  7. Scegliere OK per tornare alla finestra di dialogo Proprietà utente.
  8. Scegliere OK per tornare a User Manager per domini.
Le applicazioni di testo per MS-DOS e OS/2 possono in genere essere installate e utilizzate senza alcuna modifica. È possibile che le applicazioni per MS-DOS che effettuano il polling della tastiera debbano essere modificate mediante il comando DOSKBD, per evitare un utilizzo eccessivo delle risorse.

Nelle applicazioni per Windows vengono spesso utilizzate funzionalità di Windows, quale il Registro di sistema e i file INI. Alcune delle informazioni contenute in questi file sono comuni a tutti gli utenti, mentre altre sono specifiche dell'utente e possono richiedere un certo grado di personalizzazione dell'applicazione.

Esistono due metodi per installare applicazioni Windows a 16 o 32 bit in un ambiente Terminal Server, mediante un'installazione specifica per utente o mediante un'installazione globale per tutti gli utenti.

Installazione specifica per utente

Questo metodo prevede che ciascun utente installi l'applicazione per il proprio utilizzo. Il metodo di installazione predefinito è l'installazione specifica per utente. Qualsiasi file INI o altro file che l'applicazione tenti di inserire nella directory Windows predefinita verrà installato nella home directory Windows dell'utente. Anche se l'applicazione viene installata in una directory in rete o in una directory condivisa, gli altri utenti potrebbero non poter accedere a tutti i file DLL e INI necessari per eseguirla. L'utente deve effettuare un'installazione specifica per utente. In breve, è necessario effettuare un'installazione distinta per ciascun utente che desidera utilizzare tale applicazione. L'installazione di un'applicazione secondo la modalità specifica per utente non comporta alcuna considerazione speciale in fatto di archiviazione o recupero di dati. Considerando tuttavia che è necessario installare completamente ciascuna applicazione per ogni utente, questo metodo può consumare una grande quantità di spazio su disco e accrescere il lavoro degli amministratori in ambienti di grandi dimensioni.

Alcune applicazioni consentono di effettuare un'installazione in rete. Nel corso di questo processo, i file presenti sui dischi o sui CD di installazione vengono copiati in una directory comune in rete, da cui ogni singolo utente potrà in seguito eseguire un'utilità di installazione o di configurazione. I file INI richiesti vengono copiati nella home directory Windows dell'utente. Sebbene questo processo richieda meno spazio sul computer Terminal Server rispetto a più installazioni specifiche per utente, comporta comunque l'esecuzione di un processo distinto per ciascun utente.

Installazione globale per tutti gli utenti

Microsoft consiglia di utilizzare questo metodo per installare applicazioni per Windows. Con questo metodo, un'applicazione viene installata una sola volta dall'amministratore e potrà successivamente essere eseguita da chiunque acceda a tale computer Terminal Server. Per effettuare un'installazione globale per tutti gli utenti, utilizzare lo strumento Installazione applicazioni del Pannello di controllo oppure digitare change user /install al prompt dei comandi, in modo da attivare la modalità di installazione per la sessione. Entrambi questi metodi assicurano che i file INI vengano installati nella directory di sistema di Terminal Server, anziché nella home directory Windows dell'utente.

Dopo avere completato l'installazione, scegliere Fine, se si è utilizzato lo strumento Installazione applicazioni, oppure digitare il comando Change User o Execute per ripristinare la modalità di esecuzione per la sessione. Quando un utente avvia l'applicazione per la prima volta, i file specifici per l'utente vengono copiati automaticamente nella relativa home directory.

Per impostazione predefinita, la maggior parte delle applicazioni Win32 viene installata con il metodo globale, anche quando la sessione non è in modalità di installazione. Da queste applicazioni viene utilizzato il Registro di sistema di Terminal Server, dove ciascun utente dispone di un gruppo univoco di impostazioni. Per le impostazioni di configurazione delle applicazioni Win16 vengono utilizzati i file INI. Queste applicazioni devono pertanto essere installate utilizzando la modalità di installazione affinché i vari utenti dispongano di copie distinte di tali file. Microsoft consiglia di installare sempre qualsiasi applicazione per Windows, sia a 16 che a 32 bit, utilizzando la modalità di installazione.

Nota: l'errore più comune quando si installano applicazioni è quello di inserire il CD dell'applicazione, lasciare che venga avviato automaticamente e che vengano visualizzate le opzioni di installazione, quindi eseguire l'installazione dalle opzioni di avvio del CD. In questo modo l'applicazione viene installata solo per l'utente attualmente connesso.

Reinstallare l'applicazione utilizzando uno dei metodi descritti di seguito. Microsoft consiglia di installare le applicazioni utilizzando lo strumento Installazione applicazioni del Pannello di controllo.

Per effettuare un'installazione globale per tutti gli utenti utilizzando lo strumento Installazione applicazioni del Pannello di controllo, attenersi alla procedura seguente:
  1. Accedere al computer Terminal Server come amministratore.
  2. Fare clic sul pulsante Start, scegliere Settings, quindi Control Panel.
  3. Fare doppio clic su Add/Remove Programs.
  4. Fare clic su Install. Se non viene trovato un programma di installazione, cercarlo e selezionarlo.
  5. Selezionare l'opzione per installare l'applicazione per tutti gli utenti o solo per l'utente attualmente connesso. Se si sceglie di installare l'applicazione per tutti gli utenti, verrà attivata la modalità di installazione e verrà consentito a Terminal Server di tenere traccia delle voci del registro dell'applicazione specifiche di ciascun utente, dei file INI e DLL aggiunti dall'applicazione al sistema Terminal Server nel corso dell'installazione.

  6. Attenersi alle istruzioni di installazione visualizzate.

    Se viene chiesto di digitare il proprio nome nel corso del processo di installazione, utilizzare un nome generico, in quanto verrà visualizzato come nome predefinito per tutti gli utenti.
  7. Configurare le impostazioni predefinite del programma che si desidera vengano utilizzate da tutti gli utenti.
  8. Al termine dell'installazione, scegliere Finish. Il sistema tornerà alla modalità di esecuzione. Riavviare il server, se richiesto, quindi continuare attenendosi alle istruzioni riportate nella sezione "Operazioni comuni a entrambe le modalità di installazione".
Per effettuare un'installazione globale per tutti gli utenti dal prompt dei comandi, attenersi alla procedura seguente:
  1. Accedere al computer Terminal Server come amministratore.
  2. Fare clic sul pulsante Start, scegliere Programs, quindi Command Prompt.
  3. Al prompt dei comandi digitare change user /install. Questo comando attiva la modalità di installazione e consente a Terminal Server di tenere traccia delle voci del registro delle applicazioni specifiche di ciascun utente, dei file INI e DLL aggiunti dall'applicazione al sistema Terminal Server nel corso dell'installazione.

  4. Attenersi alle istruzioni di installazione visualizzate.
  5. Configurare le impostazioni predefinite del programma che si desidera vengano utilizzate da tutti gli utenti.
  6. Al termine dell'installazione, passare al prompt dei comandi e digitare change user /execute, per ripristinare la modalità di esecuzione per il sistema.
  7. Riavviare il computer, se richiesto, quindi continuare attenendosi alle istruzioni riportate nella sezione "Operazioni comuni a entrambe le modalità di installazione".

Operazioni comuni a entrambe le modalità di installazione

  1. Verificare che qualsiasi gruppo di icone creato dall'applicazione si trovi nel profilo Tutti gli utenti, l'equivalente dei gruppi comuni in Citrix Winframe o Windows NT 3.51, presente nella directory %SystemRoot%\Profiles directorySpecifically. Verificare che le icone siano state create nella directory Profiles\All Users\Menu Avvio\Programmi. Le icone create nella directory Profiles\All Users\Menu Avvio\Programmi vengono visualizzate nella parte inferiore del sottomenu Programmi dell'utente, visualizzato facendo clic sul pulsante Start e scegliendo Programmi. Le icone create nel profilo dell'utente o nel profilo Default User vengono visualizzate nella parte superiore del sottomenu Programmi dell'utente. Alcune applicazioni sono hardcoded in modo che vadano a scrivere solo nel profilo dell'utente. In tal caso basterà copiare le icone nel profilo All Users

  2. Disconnettersi e riconnettersi come utente per verificare che l'applicazione funzioni correttamente. Assicurarsi che qualsiasi risorsa condivisa, ad esempio unità o stampanti di rete, sia configurata per ciascun utente prima di eseguire l'applicazione. Consultare la documentazione del software per eventuali note relative all'installazione o all'utilizzo dell'applicazione.
  3. Proteggere da scrittura la directory dell'applicazione, per impedire che utenti non amministratori possano apportarvi modifiche. Questo consente agli utenti di leggere i file del programma, ma protegge tali file da modifiche o eliminazioni involontarie.
Nota: se l'applicazione è stata installata in una partizione NTFS, le opzioni di protezione di Esplora risorse consentiranno di impostare la protezione per un'ampia gamma di opzioni, limitando l'accesso solo a specifici utenti o gruppi. Se l'installazione è stata effettuata in una partizione FAT, sarà possibile utilizzare il comando ATTRIB per contrassegnare file e directory come di sola lettura, ma non sarà possibile utilizzare le funzioni di protezione avanzate di NTFS. Per questa ragione, Microsoft consiglia di installare Terminal Server e tutte le applicazioni in partizioni NTFS. Sebbene l'utilizzo di NTFS non sia obbligatorio, NTFS offre un'ampia gamma di opzioni di protezione. Se le applicazioni risiedono su un file server NetWare, utilizzare il programma FILER per impostare le opzioni di protezione.

Se è necessario determinare se il sistema è in modalità di esecuzione o di installazione, digitare change user /query al prompt dei comandi.

È possibile configurare le azioni esatte che verranno eseguite quando si avvia o si ottimizza un'applicazione installata in modalità globale per tutti gli utenti, creando e impostando i bit di compatibilità nelle variabili del Registro di sistema associate all'applicazione.

Nelle sezioni che seguono viene descritto ciò che accade in modalità di installazione e in modalità di esecuzione.

Modalità di installazione

Se prima di installare un'applicazione, viene attivata la modalità di installazione per la sessione di un utente, l'applicazione verrà installata nella directory %SystemRoot% anziché nella home directory dell'utente. Se la sessione di un utente è in modalità di installazione, tutte le modifiche apportate ai file INI di un'applicazione verranno scritte in questa posizione centrale. Attivando la modalità di installazione per la sessione si consente a Terminal Server di tenere traccia delle voci del registro delle applicazioni specifiche di ciascun utente e dei file INI che potrebbero essere installati nel corso del processo di installazione dell'applicazione. Questo consente a Terminal Server di propagare automaticamente le chiavi del Registro di sistema e questi file per ciascun utente, quando richiesti da applicazioni in modalità di esecuzione. Dopo avere installato un'applicazione, ripristinare la modalità di esecuzione per la sessione dell'utente, al fine di evitare che i dati specifici per l'utente vengano scritti nell'installazione iniziale globale per tutti gli utenti. Se una sessione è in modalità di installazione quando si installa un'applicazione, verranno eseguite le seguenti operazioni:
  • Tutte le voci del Registro di sistema create per l'utente corrente vengono copiate nella seguente sottochiave:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install
  • Le chiavi del Registro di sistema aggiunte da un'applicazione nell'hive HKEY_LOCAL_MACHINE vengono copiate nella seguente sottochiave:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Machine
  • Se da un'applicazione vengono eseguite query sulla directory WINDOWS utilizzando l'API GetWindowsDirectory, verrà restituita la directory %SystemRoot%. Se qualsiasi voce di file INI viene aggiunta mediante l'API WritePrivateProfileString, verrà aggiunta ai file INI nella directory %SystemRoot%.
  • Se nell'applicazione non vengono utilizzate queste API per modificare i file INI, si potranno ottenere risultati imprevisti, ad esempio problemi di prestazioni e di funzionamento.

Modalità di esecuzione

La modalità di esecuzione è la modalità predefinita quando un utente effettua l'accesso. In Terminal Server vengono confrontati i file INI in %SystemRoot% con i file INI presenti nella home directory Windows dell'utente. Se un file INI presente in %SystemRoot% è più recente del rispettivo file INI presente nella home directory dell'utente, verrà utilizzato il bit 0x00000040 del valore del Registro di sistema per il file. Questo valore si trova nella seguente sottochiave:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles
Se il bit è 0 (zero) o se il valore non esiste, il file INI dell'utente verrà sovrascritto con la versione più recente del file INI presente nella directory %SystemRoot%. Se il bit è 1, il file INI dell'utente verrà unito al file INI più recente contenuto in %SystemRoot%.

La versione precedente dell'utente del file INI è rinominata in Fileini.ctx, dove Fileini è il nome del file INI.

Avviso: è possibile leggere file INI utilizzando un editor di testo, ma non è possibile salvare alcuna modifica apportata. Terminal Server non dispone di alcun metodo per riconoscere se il file è stato danneggiato. Le modifiche possono andare perdute e il file restare danneggiato.

I valori del Registro di sistema dell'utente vengono caricati dal profilo utente o dal profilo predefinito, se non esiste un profilo utente. Questi valori sono memorizzati in HKEY_USERS\SID, dove SID è l'ID di protezione per l'account dell'utente. I valori vengono confrontati con i valori di sistema presenti nella seguente sottochiave:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install
Se le chiavi dell'utente sono più vecchie, verranno eliminate e sostituite con le relative versioni del sistema. Il mapping di Registro di sistema è disattivato se il bit 0x00000100 del valore del Registro di sistema per la sottochiave riportata di seguito è impostato su 1:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications
Se sono presenti più utenti nel computer Terminal Server, HKEY_CURRENT_USER farà riferimento al percorso HKEY_USERS per l'utente corrente.

Durante l'esecuzione di un'applicazione, si verificano le seguenti operazioni:
  • Se un'applicazione tenta di leggere in HKEY_CURRENT_USER una chiave del Registro di sistema che non esiste, tale chiave verrà cercata nel seguente percorso:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install
  • Se un'applicazione tenta di leggere in HKEY_CURRENT_USER una chiave di Registro di sistema che esiste, tale chiave e le relative sottochiavi verranno copiate nel percorso appropriato in HKEY_CURRENT_USER.
  • Se da un'applicazione viene utilizzata l'API GetPrivateProfileString per leggere un file INI che non esiste nella home directory Windows dell'utente, tale file ini verrà cercato in %SystemRoot%.
  • Se da un'applicazione viene utilizzata l'API GetPrivateProfileString per leggere un file INI che esiste in %SystemRoot%, tale file verrà copiato nella home directory dell'utente.
  • Se un'applicazione utilizza l'API GetWindowsDirectory per eseguire una query relativa al percorso della directory Windows, verrà restituita la home directory dell'utente.

Controllo dell'esecuzione dell'applicazione in modalità di esecuzione

È possibile impostare numerosi bit di compatibilità per un'applicazione, un percorso del Registro di sistema o un file INI, che consentono di cambiare la modalità secondo cui Terminal Server gestisce l'unione dei dati di inizializzazione dell'applicazione, quando una sessione è in modalità di esecuzione. Questi bit di compatibilità vengono impostati nella seguente sottochiave del Registro di sistema:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility
Esistono tre diverse chiavi per applicazioni, file INI e voci del Registro di sistema in questo percorso. Le impostazioni predefinite funzionano per gran parte delle applicazioni, ma possono essere personalizzate utilizzando i seguenti bit di compatibilità.

Avviso: questi bit di compatibilità devono essere modificati solo nel caso in cui un'applicazione non funzioni correttamente.

Il primo gruppo di bit di compatibilità indica la versione dell'applicazione a cui si riferiscono le impostazioni. Non tutte le combinazioni si rivelano utili. Le applicazioni MS-DOS, ad esempio, non effettuano alcuna chiamata al Registro di sistema. Poiché il percorso del file non è specificato e più applicazioni potrebbero utilizzare lo stesso nome di file, come nel caso dei programmi di installazione che vengono regolarmente denominati Setup.exe e Install.exe, specificare il tipo di applicazione aiuta a garantire che le impostazioni di compatibilità non influiscano su altre applicazioni identificate dallo stesso nome di file.

Per ottenere il valore stringa, aggiungere i valori dei bit da impostare. Ad esempio, affinché venga restituito il nome utente anziché il nome del computer per le versioni a 16 e 32 bit di Myapp.exe, creare una chiave del Registro di sistema. Per effettuare questa operazione, attenersi alla seguente procedura:
  1. Avviare l'editor del Registro di sistema.
  2. Individuare la seguente sottochiave:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\Myapp
  3. Scegliere Aggiungi valore dal menu Modifica, quindi digitare le seguenti informazioni:
    Nome valore: Flags of
    Tipo: REG_DWORD
  4. Digitare il corrispettivo esadecimale di 11C (aggiungere 0x00000004 per applicazioni Windows a 16 bit e 0x00000008 per applicazioni Windows a 32 bit, aggiungere 0x00000010 affinché venga restituito il nome utente anziché il nome del computer, quindi aggiungere 0x00000100 per disattivare il mapping del Registro di sistema).

Applicazioni

I bit di compatibilità elencati di seguito influiscono sull'esecuzione dell'applicazione. Tali bit si trovano nella seguente sottochiave del Registro di sistema, dove <Appname> è il nome del file eseguibile dell'applicazione:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\<Appname>

Bit di compatibilità

  • Applicazione per DOS: 0x00000001
  • Applicazione per OS/2: 0x00000002
  • Applicazione Windows a 16 bit: 0x00000004
  • Applicazione Windows a 32 bit: 0x00000008
  • Restituisci il nome utente anziché il nome computer: 0x00000010
  • Restituisci il numero di build di Terminal Server: 0x00000020
  • Disabilita il mapping di registro per questa applicazione: 0x00000100
  • Non sostituire la directory Windows dell'utente: 0x00000400
Utilizzare il bit "Restituisci il nome utente anziché il nome computer" per le applicazioni che utilizzano il nome computer come identificatore univoco. Questo bit restituisce il nome dell'utente all'applicazione e fornisce un identificatore univoco per ciascun utente dell'applicazione.

Utilizzare il bit "Disabilita il mapping di registro per questa applicazione" per conservare una sola copia globale delle variabili del Registro di sistema utilizzate dall'applicazione.

Se il bit "Non sostituire la directory Windows dell'utente" è impostato, verrà mantenuta la directory SystemRoot per le chiamate dell'API GetWindowsDirectory. Se questo bit non è impostato, per impostazione predefinita verranno sostituiti tutti i percorsi della directory Windows con il percorso della directory Windows dell'utente.

File INI

I bit di compatibilità elencati di seguito consentono di controllare la propagazione dei file INI. Tali bit si trovano nella seguente chiave del Registro di sistema, dove <Inifile> è il nome del file INI:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles\<Inifile>

Bit di compatibilità

  • Applicazione Windows a 16 bit: 0x00000004
  • Applicazione Windows a 32 bit: 0x00000008
  • Sincronizza il file INI dell'utente con la versione del sistema: 0x00000040
  • Non sostituire la directory Windows dell'utente: 0x00000080
Se il bit "Sincronizza il file INI dell'utente con la versione del sistema" è impostato, verranno aggiunte nuove voci dal file INI principale del sistema all'avvio dell'applicazione e non verranno eliminati dati esistenti dal file INI dell'utente. Se questo bit non è impostato, per impostazione predefinita il file INI dell'utente verrà sovrascritto se è meno recente rispetto al file INI principale del sistema.

Se il bit "Non sostituire la directory Windows dell'utente" è impostato, nel file INI verrà mantenuta la directory SystemRoot per i percorsi di file quando la versione principale del sistema del file INI viene copiata nella directory Windows dell'utente. Se questo bit non è impostato, per impostazione predefinita verranno sostituiti tutti i percorsi della directory Windows con il percorso della directory Windows dell'utente.

Percorsi del Registro di sistema

I bit di compatibilità elencati di seguito controllano la propagazione delle voci del Registro di sistema. Si trovano nella seguente sottochiave, dove <Pathname> è il percorso del Registro di sistema nella chiave HKEY_CURRENT_USER\Software:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\RegistryEntries\<Pathname>

Bit di compatibilità

  • Applicazione Windows a 32 bit: 0x00000008
  • Disabilita il mapping di registro per questa applicazione: 0x00000100
Se il bit "Disabilita il mapping di registro per questa applicazione" è impostato, vengono aggiunte nuove voci dall'immagine del Registro di sistema principale all'avvio dell'applicazione. Non viene tuttavia eliminato alcun dato esistente nel Registro di sistema dell'utente. Se questo bit non è impostato, per impostazione predefinita i dati del Registro di sistema dell'utente verranno eliminati e sovrascritti se la data del Registro di sistema dell'utente è precedente a quella del Registro di sistema principale.

Importanza dell'utilizzo delle API per la compatibilità delle applicazioni

Per poter utilizzare la modalità di installazione globale offerta da Terminal Server per tutti gli utenti, un'applicazione deve utilizzare le API appropriate per leggere e scrivere le informazioni dei file INI e del Registro di sistema.

Applicazioni a 16 bit

Le applicazioni a 16 bit devono utilizzare l'API GetPrivateProfileString per leggere un file INI e l'API WritePrivateProfileString per scrivere in un file INI.

Applicazioni a 32 bit

Le applicazioni a 32 bit devono utilizzare le API del Registro di sistema per aggiornare le relative chiavi. Queste API comprendono:
  • RegOpenKeyEx
  • RegCloseKeyEx
  • RegEnumKeyEx
  • RegDeleteKeyEx
  • RegQueryValueEx
  • RegSetValueEx
In modalità di installazione, queste API contrassegnano con data e ora e aggiornano le impostazioni del Registro di sistema di ciascun utente la volta successiva che l'utente esegue l'accesso. Se il Registro di sistema viene modificato manualmente, la data e l'ora relative alla voce di registro non verranno aggiornate e le modifiche non verranno propagate agli utenti quando eseguono l'accesso.

Integrazione in rete delle applicazioni

Oltre ai requisiti previsti dall'ambiente Windows NT, esiste una serie di altre considerazioni relative alle applicazioni di rete in un ambiente Terminal Server. Tali considerazioni sono:
  • Indirizzi di rete univoci
  • Gateway
  • Requisiti Novell NetWare NDS

Indirizzi di rete univoci

Alcune applicazioni richiedono un indirizzo di scheda di interfaccia di rete (NIC) univoco per ciascuna istanza dell'applicazione, ad esempio un'applicazione client/server che richiede un indirizzo IP univoco per ciascun client che si connette a un server. Queste applicazioni consentono l'esecuzione di una sola istanza simultanea del proprio client su un computer Terminal Server. Perché un'applicazione comunichi correttamente in un ambiente Terminal Server MultiWin, è necessario che venga negoziato un socket univoco.

La capacità di negoziare un socket univoco è un aspetto chiave della progettazione di un'applicazione di rete compatibile. È importante evitare schemi di indirizzi hardcoded che potrebbero determinare problemi di compatibilità. Se due applicazioni tentano di comunicare mediante lo stesso indirizzo, è possibile che si verifichino errori e un malfunzionamento delle applicazioni.

TCP/IP

In alcune applicazioni che si avvalgono del protocollo TCP/IP per comunicare, viene utilizzato l'indirizzo IP come identificatore hardcoded del client. In un ambiente Terminal Server MultiWin non è possibile eseguire più istanze di queste applicazioni. Perché un'applicazione comunichi correttamente in un ambiente Terminal Server MultiWin, è necessario che venga negoziato un socket privato. Questo consente al client e al server di comunicare utilizzando un indirizzo IP/PORT/SOCKET univoco.

IPX

In alcune applicazioni che si avvalgono del protocollo IPX, viene utilizzato un socket hardcoded per le comunicazioni e un indirizzo NIC come identificatore univoco. Queste applicazioni non possono essere eseguite in un ambiente Terminal Server MultiWin, in quanto tutti gli utenti comunicano mediante lo stesso indirizzo NIC, il che causa il malfunzionamento del programma.

NetBEUI e NetBIOS

In alcune applicazioni che si avvalgono del protocollo NetBEUI o NetBIOS viene utilizzato un nome specifico come identificatore univoco. Queste applicazioni non possono essere eseguite in un ambiente Terminal Server MultiWin, in quanto tutti gli utenti comunicano mediante lo stesso nome specifico, il che causa il malfunzionamento del programma.

Gateway

In alcuni prodotti per la connettività di mainframe viene utilizzato l'indirizzo di rete della scheda di interfaccia di rete (NIC) come identificatore dell'utente e della sessione. Questi prodotti prevedono la presenza di un utente alla volta su un computer Terminal Server. In questi casi, l'unica soluzione consiste nell'utilizzare un gateway di comunicazione dei dati tra il computer Terminal Server e il minicomputer. L'emulatore di terminale potrà così utilizzare un protocollo basato su socket virtuale, ad esempio IPX, per comunicare con il gateway, consentendo in tal modo a più utenti sul computer Terminal Server di utilizzare il prodotto.

Requisiti Novell NetWare NDS

Gli utenti di Terminal Server possono utilizzare le risorse di un ambiente NetWare NDS (NetWare 4.x) e possono essere autenticati in questo ambiente. Nella maggior parte delle applicazioni che vengono eseguite nell'ambiente NDS non vengono utilizzate API specifiche di NDS, ma vengono eseguite come in un ambiente bindery NetWare (NetWare 3.x). Le applicazioni che vengono eseguite su un computer Terminal Server devono funzionare in un ambiente bindery NetWare, in quanto le API specifiche di NDS non sono supportate.

Altre considerazioni di rete

Per ottimizzare le prestazioni, non installare il componente server del software client/server, quale Microsoft SQL Server, nel computer Terminal Server. Questi componenti comportano un utilizzo intensivo delle risorse e possono influire negativamente sulle prestazioni di più sessioni utente di Terminal Server. Terminal Server è ottimizzato per eseguire più ambienti utente, non un ambiente server. Può essere utile pensare a Terminal Server come a un insieme di computer virtuali che eseguono Windows NT Workstation. Ad esempio, i computer che eseguono Windows NT Workstation consentono ai processi solo alcuni cicli di tempo CPU prima di passare ad altri processi in attesa. Questo migliora il multitasking per le applicazioni utente. Terminal Server è ottimizzato per gestire processi, esattamente come Windows NT Server è ottimizzato diversamente, il che consente ai processi di applicazioni server, ad esempio SQL Server o Microsoft Exchange Server, di utilizzare la CPU per più tempo prima che il computer passi agli altri processi in attesa.

Se si utilizza un'applicazione server COM per client Terminal Server, la parte server dell'applicazione non potrà essere installata nello stesso computer Terminal Server a cui si connettono i client. Potrà essere installata in altri computer Terminal Server, se necessario, o, ancora meglio, in altre risorse non Terminal Server. La limitazione delle applicazioni COM è data dal fatto che le parti client e server non possono essere eseguite sullo stesso computer Terminal Server.

Client RDP Terminal Server e client ICA Citrix

Il client RDP (Remote Desktop Protocol) Microsoft e i client ICA Citrix presentano molte funzionalità in comune. Entrambi sono progettati per fornire servizi di presentazione Windows ad alte prestazioni mediante connessioni a larghezza di banda ridotta.

Il client RDP Microsoft e i client ICA Citrix presentano le seguenti funzionalità:
  • Presentazione su schermo di applicazioni Windows grafiche
  • Input da mouse e da tastiera
  • Controllo delle sessioni
  • Prevenzione e ripristino da errori
  • Crittografia
  • Compressione dei dati
  • Più livelli di protezione
  • Esplorazione di Terminal Server di uso generale
I client ICA Citrix dispongono inoltre delle seguenti funzionalità:
  • Presentazione di testo a tutto schermo
  • Frame per connessioni asincrone
  • Reindirizzamento del file system
  • Reindirizzamento di stampa
  • Reindirizzamento della porta COM
  • Più canali virtuali generici
  • Funzionalità di taglia e incolla tra client e server diversi
  • Più piattaforme di sistemi operativi, tra cui MS-DOS, Windows 3.1, Macintosh, UNIX
Per utilizzare il client ICA Citrix con Terminal Server, installare il servizio aggiuntivo Citrix, Metaframe, per il quale è attualmente disponibile la versione beta. Metaframe consente inoltre agli amministratori di definire connessioni SPX, NetBEUI e connessioni asincrone nella configurazione di connessione di Terminal Server. Nella versione iniziale di Terminal Server viene utilizzata solo una connessione TCP/IP (RDP è incapsulato e utilizza TCP per il trasporto e per connettersi alla porta 3389).

Sia i client RDP che ICA sono progettati per trasmettere in maniera efficiente informazioni provenienti dal video, dal mouse e dalla tastiera. Microsoft e Citrix consigliano di attenersi alle seguenti linee guida per le immagini grafiche:

  • Utilizzare immagini di grafica vettoriale anziché immagini basate su bitmap.
  • Utilizzare l'operatore raster per eseguire il brushing dello schermo.
Le bitmap richiedono una larghezza di banda superiore rispetto alle immagini di grafica vettoriale, in quanto tutti i dati di immagine di ciascuna bitmap devono essere trasmessi dal server almeno una volta. I client RDP e ICA compensano questo aspetto memorizzando nella cache ciascuna bitmap presente sul sistema client. Se è necessario visualizzare una bitmap, questa viene confrontata con le bitmap presenti nella cache locale del client. Se la bitmap visualizzata corrisponde a una già presente nella cache del client, verrà inviato un comando che informa il client di visualizzare la copia locale anziché inviare l'immagine in rete.

L'utilizzo dei caratteri TrueType è preferibile in quanto questi tipi di caratteri vengono salvati sul client. Se un'applicazione deve utilizzare tipi di caratteri Adobe o personalizzati, assicurarsi che siano configurati come caratteri Windows NT incorporati, in modo da poter essere visualizzati più rapidamente. Sempre più tipi di caratteri vengono incorporati nel kernel di Windows NT, il che consentirà un miglioramento delle prestazioni nelle versioni future di Terminal Server. Per i client RDP i tipi di caratteri sono la ragione per cui è stata disattivata la modalità MS-DOS a tutto schermo. Per abilitare la modalità MS-DOS a tutto schermo, è necessario scaricare un intero set di tipi di caratteri, in quanto non è possibile utilizzare caratteri TrueType. Poiché ciò comportava un serio degrado delle prestazioni, la funzionalità è stata disabilitata.

I cursori lampeggianti causano un inutile consumo della larghezza di banda, in quanto ogni lampeggio richiede la trasmissione di pacchetti di dati. Sono da preferire le applicazioni che non utilizzano un cursore lampeggiante o che consentono di disabilitare il cursore lampeggiante. Questa opzione può essere configurata nel Pannello di controllo.

Ulteriori commenti

Di seguito sono riportati i motivi principali per i quali questa propagazione potrebbe non funzionare:
  1. Il client o il server non accedono al file ini con le API appropriate.
  2. Terminal Server non è in modalità /install quando il relativo file INI viene scritto dalle API corrette. Ad esempio, quando è in modalità /install scrive sul file C:\%systemroot%\Win.ini del server anziché sulla copia del file presente sull'unità principale dell'utente Administrator che si trova nel profilo utente dell'amministratore.
  3. L'impostazione del Registro di sistema corretta non viene effettuata nella chiave seguente:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Inifiles\

Sovrascrittura del file INI del profilo con il file INI principale

  1. Sul server attenersi alla seguente procedura:
    1. Mettere il Terminal Server in modalità /install.
    2. Scrivere il file INI con le API WritePrivateProfile.
    3. Avviare la modalità /execute.
  2. Sul client attenersi alla seguente procedura:
    1. Accedere al computer client.
    2. Il file INI non è presente nel profilo.
    3. Leggere il file INI con le API GetPrivateProfile.
    4. Il file INI viene copiato nel profilo.
    5. Disconnettersi dal computer client.
  3. Sul server attenersi alla seguente procedura:
    1. Mettere il Terminal Server in modalità /install.
    2. Aggiornare il file INI con le API WritePrivateProfile.
    3. Avviare la modalità /execute.
  4. Sul client attenersi alla seguente procedura:
    1. Accedere al computer client.
    2. Il file INI viene rinominato con estensione CTX.
    3. Leggere il file INI con le API GetPrivateProfile.
    4. Una nuova copia del file INI viene copiata nel profilo.

Unione del file INI principale con il file INI del profilo

  1. Sul server attenersi alla seguente procedura:
    1. Mettere il Terminal Server in modalità /install.
    2. Scrivere il file INI con le API WritePrivateProfile.
    3. Avviare la modalità /execute.
  2. Sul client attenersi alla seguente procedura:
    1. Accedere al computer client.
    2. Il file INI non è presente nel profilo.
    3. Leggere il file INI con le API GetPrivateProfile.
    4. Il file INI viene copiato nel profilo.
    5. Aggiornare il file INI con le API WritePrivateProfile.
    6. Disconnettersi dal computer client.
  3. Sul server attenersi alla seguente procedura:
    1. Mettere il Terminal Server in modalità /install.
    2. Aggiornare il file INI con le API WritePrivateProfile.
    3. Mettere il server in modalità /execute.
  4. Sul client attenersi alla seguente procedura:
    1. Accedere al computer client.
    2. Leggere il file INI con le API GetPrivateProfileString/Int.
    3. Una nuova copia del file Inifile.upd viene creata nel profilo.
    4. Il file INI del profilo viene unito alla versione server del file INI.

Proprietà

Identificativo articolo: 186498 - Ultima modifica: lunedì 8 agosto 2005 - Revisione: 3.1
Le informazioni in questo articolo si applicano a
  • Microsoft Windows NT Server 4.0 Terminal Server
  • Microsoft Windows 2000 Server
Chiavi: 
kbinfo KB186498
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com