Quando vengono installati determinati aggiornamenti per .NET Framework 2.0 Service Pack 2, .NET Framework 3.0 Service Pack 2 o .NET Framework 3.5 Service Pack 1, l'aggiornamento potrebbe essere installato correttamente. I file, tuttavia, potrebbero non essere aggiornati. Per tale motivo, l'aggiornamento viene presentato nuovamente in Windows Update.
Sintomi
Questo scenario può verificarsi per vari motivi, tra cui determinati errori di installazione correlati alla manutenzione del ramo doppio. Nel periodo tra gennaio e luglio 2009 sono stati rilasciati diversi aggiornamenti rapidi difettosi per .NET Framework 2.0 Service Pack 2, .NET Framework 3.0 Service Pack 2 e .NET Framework 3.5 Service Pack 1. Quando vengono installati aggiornamenti rapidi con questo difetto e quindi viene installato un aggiornamento della protezione, la presenza dell'aggiornamento rapido impedisce il corretto aggiornamento dei file di payload inclusi nell'aggiornamento della protezione. In determinati casi, questo problema potrebbe presentarsi anche sotto forma dell'errore descritto nell'articolo della Microsoft Knowledge Base riportato di seguito:
2262911 "Impossibile caricare il tipo 'System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy'" dopo aver installato l'aggiornamento 982167 o l'aggiornamento 982168 Microsoft ha eliminato tutti gli aggiornamenti rapidi che includevano questo difetto, sostituendoli con nuovi aggiornamenti rapidi privi del difetto. Gli articoli della Microsoft Knowledge Base relativi agli aggiornamenti rapidi difettosi sono stati aggiornati e attualmente sono elencati gli aggiornamenti rapidi sostitutivi privi del difetto. Se è stato installato uno degli hotfix difettosi elencati di seguito, per risolvere il problema applicare la soluzione alternativa descritta nella sezione "Workaround" di questo articolo. Se la soluzione alternativa non viene applicata, è possibile che i file nel payload per un aggiornamento della protezione non vengano aggiornati correttamente, lasciando il computer in uno stato incoerente e probabilmente vulnerabile.
Elenco degli hotfix difettosi
CORREZIONE: quando si stampa un file XPS da un computer basato su Windows XP Service Pack 2 o Service Pack 3, i caratteri nel file XPS non vengono stampati correttamente |
|
IX: Il tipo restituito o l'argomento out di un metodo di servizio ASMX che include una proprietà con un setter interno non può essere serializzato in un computer in cui è installato .NET Framework |
|
CORREZIONE: l'eccezione System.EnterpriseServices.TransactionProxyException non può essere intercettata da altri domini dell'applicazione quando viene attivata durante il completamento di una transazione |
|
CORREZIONE: quando si utilizza lo strumento personalizzato Msdatasetgenerator in .NET Framework 2.0 Service Pack 1 (SP1), il valore di scala e di precisione nel codice generato per un provider di dati .NET di terze parti è diverso dal valore impostato |
|
CORREZIONE: durante l'utilizzo dell'oggetto BinaryFormatter per serializzare e deserializzare un tipo generico in un'assembly in .NET Framework 2.0 Service Pack 2 o .NET Framework 3.5 Service Pack 1, viene visualizzato un messaggio di errore di eccezione |
|
CORREZIONE: quando si fa riferimento all'oggetto Transaction.Current.TransactionInformation, viene visualizzata l'eccezione ObjectDisposedException |
|
CORREZIONE: quando si visualizza una pagina in modalità Progettazione dopo avere ricompilato il progetto basato su .NET Framework 3.5 Service Pack 1, viene visualizzato il seguente messaggio di errore: "Errore nella creazione del controllo – impossibile impostare "ControlInstanceName [testo]" sulla proprietà "PropertyName"" |
|
CORREZIONE: quando si accede a un sito Web basato su ASP.NET 2.0 AJAX, potrebbero verificarsi diversi problemi nei client Web |
|
CORREZIONE: quando si esegue un'applicazione che richiede al CLR di caricare un'assembly in modalità mista in .NET Framework 2.0 Service Pack 2, si verifica una perdita di memoria |
|
CORREZIONE: quando si avvia un'applicazione eseguita in CLR, si verifica una violazione di accesso |
|
CORREZIONE: dopo avere modificato la cartella App_Code, la cartella bin o il file Global.asax su richiesta iniziale per un sito Web ASP.NET, le prestazioni risultano notevolmente rallentate |
|
CORREZIONE: quando si esegue un'applicazione CLR che richiama il metodo XslCompiledTransform.Transform, viene visualizzato un errore di violazione dell'accesso |
|
CORREZIONE: quando si torna alla cartella Modifica da Windows formFIX basato su .NET Framework 2.0 SP2, potrebbe non essere più visualizzata la modalità IME specifica, impostata per il campo Modifica: quando si torna alla cartella Modifica da un Windows form basato su .NET Framework 2.0 SP2, potrebbe non venire visualizzata la modalità IME specifica, impostata per il campo Modifica: |
|
CORREZIONE: quando si compila un progetto ASP.NET contenente molti file di risorse dell'applicazione, viene visualizzato il seguente messaggio di errore: "Eccezione first chance di tipo 'System.ArgumentException' in mscorlib.dll" |
|
CORREZIONE: i menu popout non vengono visualizzati quando si utilizza Internet Explorer 8.0 in modalità Standard per visualizzare una pagina Web ASP.NET che include menu dinamici |
|
CORREZIONE: quando un'applicazione basata su .NET Framework 2.0 richiama ripetutamente la funzione XmlTextReader.Read, viene visualizzato il seguente messaggio di errore: "Il tag di inizio "Autorizzazione" sulla riga 171 non corrisponde al tag di fine di "PermissionRead"" |
|
CORREZIONE: quando si esegue un'applicazione utilizzando .NET Framework 2.0 Service Pack 2, si verifica un arresto anomalo e CLR risulta impossibile a causa di un errore irreversibile del modulo di esecuzione |
|
CORREZIONE: quando si utilizzano il metodo System.Data.DataTable.InsertRow o altri metodi di overload in un'applicazione basata su .NET Framework 2.0 per inserire delle righe in una tabella, viene visualizzato il seguente messaggio di errore: "Overflow di un'operazione aritmetica" |
|
CORREZIONE: un'applicazione che controlla le voci del registro eventi si arresta in modo anomalo quando richiama il metodo Dispose della classe System.Diagnostics.EventLog |
|
CORREZIONE: un'applicazione basata su.NET Framework 2.0 SP2 o su .NET Framework 3.5 SP1 non elimina correttamente gli oggetti che gestiscono la sicurezza creati dall'oggetto WindowsIdentity |
|
È disponibile un hotfix che aggiorna alcune proprietà nella classe System.Globalization.RegionInfo per Slovacchia, Slovenia e Turchia |
|
CORREZIONE: quando si accede a un sito Web basato su ASP.NET 2.0 AJAX distribuito in una Web farm si verifica l'arresto anomalo dei client Web o un comportamento imprevisto |
|
CORREZIONE: quando si utilizza l'esportazione della libreria dei tipi per generare una libreria dei tipi da un'assembly CLR in .NET Framework 2.0 Service Pack 2, vengono generate delle dimensioni di istanza non corrette |
|
Se in Visual Studio 2005 o Visual Studio 2008 viene impostata la proprietà ImageUrl dopo l'installazione di .NET Framework 2.0 SP2 o .NET Framework 3.5 SP1, non viene visualizzato il messaggio di errore e il controllo collegamento ipertestuale riportato di seguito: "Riferimento a un oggetto non impostato su un'istanza di oggetto" |
|
CORREZIONE: quando si esegue un'applicazione Web basata in .NET Framework 2.0 SP2 o in .NET Framework 3.5 SP1, si verifica un'eccezione System.InvalidOperationException |
|
CORREZIONE: il metodo XslCompiledTransform.Transform non dispone di un metodo di overload che accetta gli oggetti XPathNavigator e XmlResolver come argomenti in .NET Framework 2.0 |
|
Un'applicazione gestita dispone di un numero elevato di handle del thread e di handle dell'evento in Microsoft .NET Framework 2.0 |
|
CORREZIONE: quando si utilizza lo strumento Genera risorsa locale in Visual Web Developer per generare un file di risorse locali, non vengono visualizzati i blocchi di codice incorporati in una pagina Web ASP.NET 2.0 |
|
Descrizione del pacchetto cumulativo hotfix per ASP.NET 2.0: Aprile 2009 |
|
CORREZIONE: al termine dell'installazione di Microsoft .NET Framework 3.5 Service Pack 1, il contatore delle prestazioni "ASP.NET Apps v2.0.50727(__Total__)\Sessions Active" mostra un valore esageratamente elevato |
|
CORREZIONE: un thread di lavoro in un'applicazione Windows Form basata su .NET Framework 2.0 potrebbe essere bloccato quando richiama il metodo Control.Invoke, nonostante il thread GUI sia inattivo |
|
CORREZIONE: quando un oggetto System.Drawing.FontConverter richiama la proprietà FontFamily.Families in .NET Framework 2.0 SP2 o .NET Framework 3.5 SP1, viene visualizzato il seguente messaggio di errore di eccezione: "Memoria insufficiente" |
|
CORREZIONE: quando si esegue un'applicazione basata su .NET Framework 3.5 SP1, si verifica un'eccezione TypeLoadException |
|
CORREZIONE: le prestazioni delle applicazioni che utilizzano il metodo CreateType subiscono una riduzione quando vengono aggiunti ulteriori tipi di oggetto a un modulo dinamico dell'assembly in .NET Framework 2.0 SP2 |
|
TITLE TITLE TITLE TITLE |
|
CORREZIONE: quando si esegue un'applicazione basata su .NET Framework 2.0 che dispone di una chiamata virtuale IList<T>, IEnumerable<T> o un'interfaccia ICollection<T> in un metodo LCG, si verifica una violazione di accesso |
|
CORREZIONE: messaggio di errore quando si segue un'applicazione Web ASP.NET 2.0 se il nome del file della risorsa globale contiene il nome di lingua "zh-Hant" |
|
CORREZIONE: quando l'applicazione è presente e viene riavviata, quindi viene visualizzata l'eccezione System.InvalidOperationException in un computer che esegue .NET Framework 2.0, i contatori di prestazioni che controllano un'applicazione si bloccano |
|
CORREZIONE: l'utilizzo della CPU aumenta notevolmente durante l'esecuzione di un'applicazione Multi- AppDomain basata su.NET Framework 2.0 che utilizza gli oggetti i cui finalizzatori avviano i metodi ThreadPool |
|
Descrizione dell'hotfix che attiva le applicazioni Web ASP.NET per il supporto alle identità basate su attestazioni durante l'utilizzo di provider di appartenenze |
|
CORREZIONE: i thread di un programma basato su .NET Framework 2.0 SP2 vengono sospesi per molto tempo quando si attiva simultaneamente Garbage Collection |
|
CORREZIONE: la generazione di un file di dump ridotto è lenta e le dimensioni del file sono superiori al previsto quando le informazioni che il file raccoglie non sono del tipo MiniDumpWithFullMemory in .NET Framework 2.0 |
Per ulteriori informazioni sulla manutenzione del ramo doppio, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
960043 Manutenzione del ramo doppio per .NET Framework 2.0 Service Pack 2, .NET Framework 3.0 Service Pack 2 e .NET Framework 3.5 Service Pack 1
Cause
Per applicare una soluzione alternativa a questo problema, attenersi alla seguente procedura.
Passo 1
Installare l'aggiornamento rapido 975954. Per scaricare gli aggiornamenti MSI, visitare la seguente pagina Web MSDN:
http://code.msdn.microsoft.com/KB975954/Release/ProjectReleases.aspx?ReleaseId=3839
Passo 2
Eseguire un ripristino del prodotto. Il prodotto può essere ripristinato dall'utente o automaticamente da Microsoft.
Eseguire il ripristino automatico
Per eseguire il ripristino automatico del prodotto, fare clic sul pulsante Correggi. Quindi, fare clic su Esegui nella finestra di dialogo Download file e attenersi alla procedura guidata di Fix it.
Nota Questa procedura guidata è disponibile solo in inglese. La correzione automatica, tuttavia, funziona anche per versioni di Windows in altre lingue.
Nota Se non si sta utilizzando il computer in cui è presente il problema, la correzione automatica può essere salvata su un'unità flash o su un CD e può essere eseguita sul computer che presenta il problema.Ripristino operato dall'utente
Per ripristinare da sé il prodotto, inserire le righe di comando appropriate di seguito indicate da un prompt dei comandi con privilegi elevati:
-
Se è installato solo .NET Framework 2.0 Service Pack 2, utilizzare il comando seguente:
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}Con questo comando vengono ripristinati i livelli del prodotto .NET Framework 2.0 SP2.
-
Se è installato .NET Framework 3.0 Service Pack 2, utilizzare i comandi seguenti:
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
msiexec /f {A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}Con questi comandi, vengono ripristinati i livelli del prodotto di .NET Framework 2.0 SP2 e .NET Framework 3.0 SP2. -
Se è installato .NET Framework 3.5 Service Pack 1, utilizzare i comandi seguenti:
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
msiexec /f {A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7} msiexec /f {CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}Con questi comandi, vengono ripristinati i livelli del prodotto di .NET Framework 2.0 SP2, .NET Framework 3.0 SP2 e .NET Framework 3.5 SP1.
Quando vengono ripristinati i livelli del prodotto con l'esecuzione di questi comandi, viene rivalutato lo stato di installazione di tutte le funzionalità nel livello del prodotto (.NET Framework 2.0 SP2, .NET Framework 3.0 SP2 e .NET Framework 3.0 SP1).
In tal modo, il problema causato dal baseliner errato viene risolto e il payload dell'aggiornamento può essere applicato correttamente. Per ulteriori informazioni sull'esecuzione di un comando con privilegi elevati, visitare la seguente pagina Web Microsoft:http://windows.microsoft.com/en-US/windows7/Command-Prompt-frequently-asked-questions
Workaround
Per ulteriori informazioni sulle varie opzioni della riga di comando supportate da Windows Installer, visitare la seguente pagina Web Microsoft:
Opzioni della riga di comandoPer ulteriori informazioni su Windows Installer, visitare la seguente pagina Web MSDN: