Distribuzione di Microsoft .NET Framework versione 3.0

 

Annie Wang
Microsoft Corporation

Giugno 2006

Si applica a
   Microsoft .NET Framework versione 3.0 (in precedenza nota come WinFX)
   Microsoft .NET Framework 2.0
   Microsoft Windows Vista

Riepilogo: Microsoft .NET Framework 3.0 (noto in precedenza come WinFX) è il nuovo modello di programmazione con codice gestito per Windows. Le applicazioni scritte per .NET Framework 3.0 richiedono l'installazione di .NET Framework 3.0 nel computer in cui viene eseguita l'applicazione. Questo articolo descrive brevemente .NET Framework 3.0 e la relativa relazione con le versioni precedenti di .NET Framework, fornisce informazioni sull'installazione e la distribuzione di Framework e descrive come rilevare se .NET Framework 3.0 è installato. (18 pagine stampate)

Contenuto

Introduzione
   Informazioni su Microsoft .NET Framework 3.0
   Relazione tra .NET Framework 3.0 e .NET Framework 2.0 e versioni precedenti
   Criteri di manutenzione per .NET Framework 3.0
   Roadmap per le versioni future di .NET Framework
Installazione di .NET Framework 3.0
   Numeri di versione per assembly .NET Framework
Distribuzione di .NET Framework 3.0
   Requisiti software
   Requisiti hardware
   Diritti di ridistribuzione per .NET Framework
   Strumenti di amministrazione IT per la distribuzione di .NET Framework 3.0
   Ridistribuzione di .NET Framework con l'applicazione
Rilevamento di .NET Framework 3.0 e versioni precedenti
   Lettura di una chiave del Registro di sistema
   Lettura della stringa User-Agent in Internet Explorer
Opzioni della riga di comando per .NET Framework 3.0 Redistributable
Codici di errore per .NET Framework 3.0 Redistributable
Appendice A: Rilevamento dei Language Pack di .NET Framework
Appendice B: Script di esempio per il rilevamento di .NET Framework 3.0 tramite Internet Explorer

Introduzione

Questa sezione offre una panoramica di .NET Framework 3.0.

Informazioni su Microsoft .NET Framework 3.0

Microsoft .NET Framework versione 3.0 (in precedenza noto come WinFX) è il nuovo modello di programmazione con codice gestito per Windows. Combina la potenza di .NET Framework 2.0 con nuove tecnologie per la creazione di applicazioni con un'esperienza utente visivamente accattivante, una comunicazione senza problemi attraverso i limiti tecnologici e il supporto per un'ampia gamma di processi aziendali. Microsoft prevede di spedire .NET Framework 3.0 come parte di Windows Vista. Allo stesso tempo, Microsoft rende disponibile .NET Framework per Windows XP Service Pack 2 e Windows Server 2003 Service Pack 1.

La tabella seguente elenca alcune delle tecnologie incluse in .NET Framework 3.0.

Tecnologia Descrizione
Windows Presentation Foundation (WPF, in precedenza denominato "Avalon") Fornisce classi per la creazione di applicazioni smart-client di nuova generazione che combinano interfaccia utente, documenti e supporti.
Windows Communication Foundation (WCF, in precedenza denominato "Indaco") Offre un modello di programmazione unificato e un runtime per la creazione di applicazioni orientate ai servizi.
Windows Workflow Foundation (WF) Offre un modello di programmazione, un motore e strumenti per creare applicazioni abilitate per il flusso di lavoro che modellano i processi aziendali.
Windows CardSpace (precedentemente denominato "InfoCard") Fornisce una tecnologia per semplificare e migliorare la sicurezza di lavorare online con informazioni personali sull'identità.
Microsoft .NET Framework 2.0 Consente di creare applicazioni windows e basate sul Web in modo produttivo.

Tutte le classi che rappresentano i nuovi componenti (WPF, WF, WCF e CardSpace) fanno parte dello spazio dei nomi System . Le classi principali della piattaforma .NET, ad esempio Common Language Runtime (CLR) e le librerie di classi base (BCL) rimangono invariate in .NET Framework 2.0.

Il diagramma seguente illustra la struttura di .NET Framework 3.0.

Aa480198.netfx30(en-us,MSDN.10).gif

Figura 1. .NET Framework 3.0

Relazione tra .NET Framework 3.0 e .NET Framework 2.0 e versioni precedenti

.NET Framework 3.0 aggiunge nuove tecnologie a .NET Framework 2.0, che rende .NET Framework 3.0 un superset di .NET Framework 2.0. È possibile considerare .NET Framework 3.0 come una versione "additive" di .NET Framework 2.0, in contrasto con una versione generazionale in cui il software viene modificato in tutta la scheda. Ad esempio, .NET Framework 2.0 era una versione generazionale su .NET Framework 1.0.

Poiché .NET Framework 3.0 è una versione aggiuntiva e usa i componenti di runtime di base di .NET Framework 2.0, è completamente compatibile con la versione precedente. Le applicazioni basate su .NET Framework 2.0 esistenti continueranno a essere eseguite senza modifiche ed è possibile continuare in modo sicuro gli investimenti usando le tecnologie fornite con .NET Framework 2.0.

Se si passa a .NET Framework 3.0 da .NET Framework 1.1 o 1.0, è necessario eseguire l'analisi dell'impatto ed eseguire test di compatibilità prima della distribuzione. Anche se sono state eseguite operazioni per rendere compatibili le versioni di .NET Framework, esistono un numero ridotto di incompatibili noti a causa di aggiunte di sicurezza e funzionalità significative. Per altre informazioni, vedere la pagina Modifiche di rilievo in .NET Framework 2.0 nel sito Web Microsoft .NET Developer Center.

Criteri di manutenzione per .NET Framework 3.0

Microsoft continuerà a usare .NET Framework 2.0 in base ai criteri di supporto standard per le piattaforme in cui è supportato. Gli utenti che attualmente si basano su .NET Framework 2.0 hanno la possibilità di rimanere in tale versione di .NET Framework e ricevere gli aggiornamenti software non appena diventano disponibili.

Qualsiasi componente fornito come parte di .NET Framework 3.0 verrà gestito sulle piattaforme in cui è supportato. Per altre informazioni, vedere la pagina Relativa alla tecnologia di aggiornamento software nel sito Web di Microsoft Visual Studio Developer Center.

Roadmap per le versioni future di .NET Framework

In generale, qualsiasi nuova versione di .NET Framework è progettata per garantire la compatibilità con le versioni precedenti. Se una nuova versione introduce modifiche di rilievo a causa di problemi di sicurezza o altri motivi, Microsoft consentirà di installare la nuova versione affiancata alla versione esistente.

Per altre informazioni sulle versioni future di .NET Framework, vedere il sito Web Microsoft .NET Framework Developer Center .

Installazione di .NET Framework 3.0

.NET Framework 3.0 viene installato per impostazione predefinita in Microsoft Windows Vista. In Microsoft Windows Server con il nome di codice "Longhorn", è possibile installare .NET Framework come funzionalità di Windows usando gli strumenti di gestione dei ruoli.

In Windows XP e Windows Server 2003, l'installazione di .NET Framework 3.0 aggiunge anche tutti i componenti di .NET Framework 2.0 non già installati. Se .NET Framework 2.0 è già installato, il programma di installazione di .NET Framework 3.0 aggiunge solo i file per Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF) e Windows CardSpace.

I componenti condivisi con .NET Framework 2.0 vengono installati nel percorso seguente:

%windir%\Microsoft.NET\Framework\V2.0.50727

I componenti nuovi di .NET Framework 3.0 vengono installati nel percorso seguente:

%windir%\Microsoft.NET\Framework\V3.0 

Tutti i componenti degli assembly di riferimento di .NET Framework 3.0 vengono installati nel percorso seguente:

%programfiles%\Reference Assemblies\Microsoft\Framework\v3.0

La disinstallazione di .NET Framework 3.0 non rimuoverà i componenti condivisi con .NET Framework 2.0. Per rimuovere questi componenti, è prima necessario disinstallare .NET Framework 3.0 e quindi disinstallare separatamente .NET Framework 2.0. È possibile disinstallare .NET Framework usando l'elemento Installazione applicazioni in Windows Pannello di controllo.

Numeri di versione per assembly .NET Framework

.NET Framework 3.0 condivide molti componenti con .NET Framework 2.0 e common Language Runtime (CLR) e le librerie di classi base sono uguali a quelle di .NET Framework 2.0. Pertanto, questi componenti condivisi rimangono nella versione 2.0. Il numero di versione 3.0 si applica a tutti gli assembly di runtime e di riferimento per Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) e Windows CardSpace.

Distribuzione di .NET Framework 3.0

Questa sezione fornisce informazioni sulla distribuzione di .NET Framework 3.0 da usare con le applicazioni.

Requisiti software

Per installare .NET Framework 3.0, è necessario che nel computer di destinazione sia installato uno dei sistemi operativi seguenti:

  • Microsoft Windows XP Home o Microsoft Windows XP Home Professional, con Service Pack 2 o versione successiva.
  • Famiglia microsoft Windows Server 2003 con Service Pack 1 o versione successiva.

Si noti che .NET Framework 2.0 continua a essere supportato nelle piattaforme di destinazione. Per altre informazioni, vedere la pagina Prerequisiti ridistribuibili di .NET Framework 2.0 nel sito Web MSDN.

.NET Framework 3.0 è installato per impostazione predefinita con Microsoft Windows Vista. In Microsoft Windows Server "Longhorn", .NET Framework 3.0 è una funzionalità di Windows che può essere installata usando gli strumenti di gestione dei ruoli.

Nota Microsoft Windows Server "Longhorn" IA64 Edition è l'unica piattaforma IA64 supportata da .NET Framework 3.0.

Requisiti hardware

Nella tabella seguente sono elencati i requisiti hardware per l'esecuzione di .NET Framework 3.0.

  CPU necessaria RAM necessaria
Minima Pentium 400 MHz 96 MB
Consigliato Pentium 1 GHz o superiore 256 MB o più

Diritti di ridistribuzione per .NET Framework

Microsoft supporta fortemente i clienti nella distribuzione di .NET Framework all'interno delle proprie organizzazioni e come parte delle soluzioni software. La distribuzione del runtime di .NET Framework 3.0 richiede l'accettazione delle condizioni di licenza. Per informazioni sulla ridistribuzione di .NET Framework 3.0 con l'applicazione o su una terza parte, vedere la pagina Guida ISV per ridistribuire la pagina .NET Framework e Altri componenti di runtime nel sito Web MSDN.

Nota Il diritto ridistribuibile è riservato solo per la versione ufficiale rilasciata di Microsoft .NET Framework 3.0. È possibile non ridistribuire la versione non rilasciata di Microsoft .NET Framework 3.0 con l'applicazione.

Strumenti di amministratore IT per la distribuzione di .NET Framework 3.0

.NET Framework 3.0 offre due modi per gli amministratori IT di distribuire nei client di campo: configurazione in modalità amministratore e distribuzione di Active Directory.

Configurazione in modalità amministratore

La configurazione in modalità amministratore consente agli amministratori IT di distribuire .NET Framework tramite Microsoft Systems Management Server (SMS) o altri strumenti di distribuzione software. L'amministratore IT esegue l'installazione di Framework in modalità invisibile all'utente. Se si verificano errori, il programma di installazione viene ignorato e registra un codice di errore.

Distribuzione di Active Directory

Nella distribuzione di Active Directory l'amministratore deve aggiungere singoli file di .msi dal pacchetto di installazione di .NET Framework 3.0 nei criteri di gruppo nell'ordine in cui devono essere distribuiti i file di .msi. Dopo l'abilitazione dei criteri di gruppo, tutti i client che fanno parte di questo criterio di gruppo installeranno automaticamente i componenti durante l'avvio e la riconnessione alla rete. Se si verificano errori, il programma di installazione viene ignorato e registra un codice di errore.

Per altre informazioni sulle istruzioni di distribuzione amministrativa, vedere la pagina Web Guida alla distribuzione amministratori .

Ridistribuizione di .NET Framework con l'applicazione

Il pacchetto ridistribuibile di .NET Framework 3.0 è disponibile come file eseguibile autonomo. Il nome del file dipende dal tipo di piattaforma di destinazione. Per le piattaforme a 32 bit, il file è denominato Dotnetfx3.exe. Per le piattaforme a 64 bit, il file è denominato Dotnetfx3_x64.exe. È anche possibile distribuire un piccolo pacchetto ridistribuibile denominato Dotnet3setup.exe che scarica i componenti necessari durante l'installazione.

Quando si distribuisce il pacchetto ridistribuibile di .NET Framework 3.0 con l'applicazione, è necessario accettare le condizioni di licenza, che forniscono diritti di distribuzione specifici.

È possibile avviare e installare manualmente la ridistribuibile in un computer oppure è possibile avviare e installare come parte del programma di installazione per un'applicazione .NET Framework 3.0.

Nota I privilegi di amministratore sono necessari per installare .NET Framework 3.0.

Per altre informazioni, vedere la pagina Web Guida alla distribuzione di Microsoft .NET Framework 3.0 .

Rilevamento di .NET Framework 3.0 e versioni precedenti

È possibile rilevare se .NET Framework 3.0 è installato leggendo una chiave del Registro di sistema e eseguendo una query sulla stringa dell'agente utente in Internet Explorer.

Lettura di una chiave del Registro di sistema

È possibile cercare un valore di chiave del Registro di sistema specificato per rilevare se .NET Framework è installato in un computer. Nella tabella seguente sono elencate le chiavi e i valori del Registro di sistema che è possibile testare per determinare se sono installate versioni specifiche di .NET Framework.

Versione Nome chiave del Registro di sistema Valore
3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup InstallSuccess (valore DWORD = 1)
2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727 Installare (valore DWORD = 1)
1.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 Installare (valore DWORD = 1)
1,0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0 3705 (valore REG_SZ = 3321-3705)

Nota Per altre informazioni sul rilevamento dei Service Pack rilasciati in precedenza per .NET Framework 1.0 e 1.1, vedere l'articolo 318785, "Come determinare quali versioni di .NET Framework sono installate e se i Service Pack sono stati applicati" nella Microsoft Knowledge Base.

Lettura della stringa di User-Agent in Internet Explorer

Per le applicazioni basate su browser, è possibile rilevare se .NET Framework 3.0 è installato in un computer esaminando la stringa dell'agente utente usando Internet Explorer in esecuzione nel computer. Questo conterrà la sottostringa "NET CLR" seguita dai numeri di versione principali e secondari. Una stringa dell'agente utente di esempio è simile alla seguente:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; 
.NET CLR 2.0.50727; .NET CLR 3.0.04131.06)

Appendice B: Script di esempio per rilevare .NET Framework 3.0 Using Internet Explorer elenca un programma JavaScript di esempio eseguito in un browser e visualizza informazioni sul numero di versione corrente di .NET Framework.

La stringa dell'agente utente inviata nelle intestazioni del browser viene archiviata nel Registro di sistema del computer server, come indicato nella tabella seguente.

Versione Chiave del Registro di sistema
3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR.3.0. 04131.06
Nota Numero di compilazione (
04131.06
nell'esempio) cambierà per la versione finale di .NET Framework 3.0.
2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 2.0.50727
1.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 1.1.4322

Opzioni della riga di comando per .NET Framework 3.0 Ridistribuibile

Nella tabella seguente sono elencate le opzioni che è possibile includere quando si esegue il programma di installazione ridistribuibile di .NET Framework 3.0 (Dotnetfx3.exe, Dotnetfx3_x64.exe o Dotnet3setup.exe) dalla riga di comando.

Opzione Descrizione
/q
Elimina tutte le interfacce utente. Impossibile specificare un file .INI con questa opzione.
/quiet
Uguale a /q.
/qb
Visualizza un'interfaccia utente minima, che mostra solo lo stato di avanzamento.
/passive
Uguale a /qb.
/uninstall
Disinstalla il prodotto.
/remove
Uguale a /uninstall.
/f
Ripristina tutti i componenti di .NET Framework 3.0 installati.
/nopatch
Specifica che le patch non vengono applicate e ignorano il controllo delle patch.
/norollback
Specifica che l'installazione non viene eseguito il rollback se un componente di installazione ha esito negativo.
/norestart
Specifica che il programma di installazione non riavvia il computer dopo il completamento dell'installazione. Il programma di installazione Ridistribuibile restituisce ERROR_SUCCESS_REBOOT_REQUIRED (3010) se è necessario un riavvio.
/?
Visualizza questo elenco di opzioni.

Codici di errore per .NET Framework 3.0 Ridistribuibile

La tabella seguente elenca i codici di errore che possono essere restituiti dal programma di installazione ridistribuibile di .NET Framework 3.0 (Dotnetfx3.exe, Dotnetfx3_x64.exe o Dotnet3setup.exe). I codici di errore sono uguali per tutte le versioni del programma di installazione.

Codice di errore Valore Descrizione
ERROR_SUCCESS
0 L'azione è stata completata correttamente.
ERROR_INSTALL_USEREXIT
1602 Installazione annullata dall'utente.
ERROR_INSTALL_FAILURE
1603 Errore irreversibile durante l'installazione.
ERROR_UNKNOWN_PRODUCT
1605 Questa azione è valida solo per i prodotti attualmente installati.
ERROR_PATCH_PACKAGE_INVALID
1636 Impossibile aprire il pacchetto patch o la patch non è applicabile a .NET Framework 3.0.
ERROR_INVALID_COMMAND_LINE
1639 Argomento della riga di comando non valido.
ERROR_SUCCESS_REBOOT_INITIATED
1641 Il programma di installazione ha avviato un riavvio. Ciò indica l'esito positivo e l'installazione continuerà dopo il riavvio. Il riavvio non viene eseguito se è stata specificata l'opzione /norestart .
ERROR_PATCH_PACKAGE_REJECTED
1643 Il pacchetto patch non è consentito dai criteri di sistema.
ERROR_SUCCESS_REBOOT_REQUIRED
3010 Riavvio necessario per completare l'installazione. Questo messaggio indica l'esito positivo dell'operazione.

Appendice A: Rilevamento dei Language Pack di .NET Framework

Nella tabella seguente sono elencati i valori del Registro di sistema che è possibile leggere per rilevare se un Language Pack di .NET Framework è installato in un computer. Per altre informazioni su come rilevare la versione localizzata di .NET Framework 1.0, vedere la pagina Informazioni di riferimento tecnico su .NET Framework Redistributable Package nel sito Web MSDN.

Prodotto Valore del Registro di sistema
Language Pack cinese (semplificato) Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2052

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2052

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\2052

InstallSuccess(DWORD value = 1)

Language Pack cinese (tradizionale) Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1028

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1028

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1028

InstallSuccess(DWORD value = 1)

Language Pack ceco Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1029

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1029

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1029

InstallSuccess(DWORD value = 1)

Language Pack danese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1030

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1030

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1030

InstallSuccess(DWORD value = 1)

Language Pack olandese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1043

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1043

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1043

InstallSuccess(DWORD value = 1)

Language Pack finlandese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1035

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1035

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1035

InstallSuccess(DWORD value = 1)

Language Pack francese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1036

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1036

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1036

InstallSuccess (valore DWORD = 1)

Language Pack tedesco Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1031

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1031

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1031

InstallSuccess(DWORD value = 1)

Language Pack greco Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1032

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1032

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1032

InstallSuccess(DWORD value = 1)

Language Pack italiano Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1040

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1040

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1040

InstallSuccess(DWORD value = 1)

Language Pack giapponese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1041

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1041

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1041

InstallSuccess(DWORD value = 1)

Language Pack coreano Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1042

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1042

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1042

InstallSuccess(DWORD value = 1)

Language Pack norvegese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1044

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1044

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1044

InstallSuccess(DWORD value = 1)

Language Pack polacco Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1045

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1045

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1045

InstallSuccess(DWORD value = 1)

Language Pack portoghese (brasiliano) Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1046

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1046

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1046

InstallSuccess(DWORD value = 1)

Language Pack portoghese (Portogallo) Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2070

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2070

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\2070

InstallSuccess(DWORD value = 1)

Language Pack russo Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1049

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1049

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1049

InstallSuccess(DWORD value = 1)

Language Pack spagnolo Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\3082

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\3082

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\3082

InstallSuccess(DWORD value = 1)

Language Pack svedese Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1053

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1053

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1053

InstallSuccess(DWORD value = 1)

Language Pack turco Versione 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1055

Versione 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1055

Installazione (valore DWORD = 1)

Versione 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1055

InstallSuccess(DWORD value = 1)

Appendice B: Script di esempio per il rilevamento di .NET Framework 3.0 tramite Internet Explorer

L'esempio seguente mostra un programma JavaScript in esecuzione in un browser che rileva se .NET Framework 3.0 è in esecuzione. Lo script esegue la ricerca nella stringa dell'agente utente e visualizza un messaggio di stato in base ai risultati della ricerca.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Test for NET Framework 3.0</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" language="JavaScript">
    <!--
    var RequiredFXVersion = "3.0.04131.06";
    
    function window::onload()
    {
      var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
      if (foundVer != null)
      {
        result.innerHTML = "This computer has the correct version of the .NET Framework: " + foundVer + "." + "<br/>"
          + "This computer's userAgent string is: " + navigator.userAgent + ".";
      } 
      else
      {
        result.innerHTML = "This computer does not have the correct 
version of the .NET Framework.<br/>"
          + "<a href='https://msdn.microsoft.com/windowsvista/default.aspx'>Click here</a> "
          + "to get .NET Framework 3.0 now.<br>"
          + "This computer's userAgent string is: " + navigator.userAgent + ".";
      }
    }
    
    //
    // Retrieve available versions from the user agent string
    // and check if any of them match the required version.
    //
    function CheckRequiredFXVersion(requiredVersion)
    {
      var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
      if (userAgentString != null)
      {
        var i;
        for (i = 0; i < userAgentString.length; ++i)
        {
          var ver = userAgentString[i].slice(9);
          if (CheckVersion(requiredVersion, ver))
            return ver;
        }
      }
      return null;
    }

    //
    // Check if a specific version satisfies the version requirement.
    //
    function CheckVersion(requiredVersion, ver)
    {
      requiredVersion = requiredVersion.split(".");
      ver = ver.split(".");
      
      // Major versions must match exactly.
      if (requiredVersion[0] != ver[0])
        return false;
      
      // Minor/build numbers must be at least the required version.
      var i;
      for (i = 1; i < requiredVersion.length && i < ver.length; i++)
      {
        if (new Number(ver[i]) < new Number(requiredVersion[i]))
          return false;
      }
      return true;
    }
    
    -->
    </script>
  </head>
  <body>
    <div id="result" />
  </body>
</html>

Se la ricerca della versione di stringa ".NET Framework 3.0" ha esito positivo, viene visualizzato il messaggio seguente:

This computer has the correct version of the .NET Framework: 3.0.04131.06.

This computer's userAgent string is: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04131.06).

In caso contrario, viene visualizzato il messaggio seguente:

This computer does not have the correct version of the .NET Framework.

Fare clic qui to get .NET Framework 3.0 now.

This computer's userAgent string is: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727).