Symptômes
Lorsque vous installez certaines mises à jour pour .NET Framework 2.0 Service Pack 2, .NET Framework 3.0 Service Pack 2 ou .NET Framework 3.5 Service Pack 1, l’installation de la mise à jour peut échouer. Toutefois, les fichiers peuvent ne pas être mis à jour. Par conséquent, la mise à jour peut être proposée à nouveau sur Windows Update.
Cause
Ce scénario peut se produire pour plusieurs raisons, notamment certains problèmes d’échec d’installation liés à une maintenance à double branche. Entre janvier 2009 et juillet 2009, plusieurs correctifs logiciels pour .NET Framework 2.0 Service Pack 2, .NET Framework 3.0 Service Pack 2 et .NET Framework 3.5 Service Pack 1 ont été publiés avec un défaut. Quand des correctifs logiciels présentant ce défaut sont installés et qu’une mise à jour de sécurité est installée, la présence du correctif logiciel empêche la mise à jour correcte des fichiers utiles dans la mise à jour de sécurité. Dans certains cas, ce problème peut également se manifester sous la forme de l’erreur décrite dans l’article suivant de la Base de connaissances Microsoft :
2262911 erreur d’exception « Impossible de charger le type « System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy » » après l’installation de la mise à jour 982167 ou de la mise à jour 982168 Microsoft a supprimé tous les correctifs logiciels qui incluaient ce défaut et les a remplacés par de nouveaux correctifs logiciels qui ne présentent pas ce défaut. Les articles de la Base de connaissances Microsoft concernant les correctifs défectueux ont été mis à jour et répertorient les correctifs logiciels de remplacement sans défaut. Si vous avez installé l’un des correctifs logiciels défectueux répertoriés ici, appliquez la solution de contournement décrite dans la section « Solution de contournement » de cet article pour résoudre le problème. Si vous n’appliquez pas la solution de contournement, il est possible que les fichiers de la charge utile d’une mise à jour de sécurité ne soient pas mis à jour correctement, laissant l’ordinateur dans un état incohérent et peut-être vulnérable.
Liste des correctifs logiciels défectueux
| 946411 | CORRECTIF : Lorsque vous imprimez un fichier XPS sur un ordinateur Windows XP Service Pack 2 ou Service Pack 3, les caractères du fichier XPS s’impriment de manière incorrecte. |
|---|---|
| 952883 | IX : Le type de retour ou l’argument out d’une méthode de service ASMX qui inclut une propriété qui a un setter interne ne peut pas être sérialisé sur un ordinateur sur lequel .NET Framework est installé |
| 958090 | CORRECTIF : L’exception System.EnterpriseServices.TransactionProxyException ne peut pas être interceptée à partir d’autres domaines d’application lorsqu’elle est déclenchée pendant l’achèvement d’une transaction |
| 958252 | CORRECTIF : Lorsque vous utilisez l’outil personnalisé Msdatasetgenerator dans .NET Framework 2.0 Service Pack 1 (SP1), la valeur de mise à l’échelle et la valeur de précision dans le code généré pour un fournisseur de données .NET tiers diffèrent des valeurs que vous avez définies |
| 960442 | CORRECTIF : Un message d’erreur d’exception s’affiche lorsque vous utilisez l’objet BinaryFormatter pour sérialiser et désérialiser un type générique dans un assembly de .NET Framework 2.0 Service Pack 2 ou .NET Framework 3.5 Service Pack 1 |
| 960754 | CORRECTIF : vous recevez l’exception ObjectDisposedException lorsque vous faites référence à l’objet Transaction.Current.TransactionInformation. |
| 961847 | CORRECTIF : Message d’erreur lors de l’affichage d’une page en mode Création après la recompilation d’un projet .NET Framework 3.5 Service Pack 1 : « Erreur lors de la création d’un contrôle – 'ControlInstanceName [text]' n’a pas pu être défini sur la propriété 'PropertyName' » |
| 961864 | CORRECTIF : Les clients Web peuvent rencontrer plusieurs problèmes lorsque vous accédez à un site Web compatible ASP.NET 2.0 AJAX |
| 961870 | CORRECTIF : une fuite de mémoire se produit lorsque vous exécutez une application qui nécessite le CLR pour charger un assembly en mode mixte dans .NET Framework 2.0 Service Pack 2 |
| 961881 | CORRECTIF : Une violation d’accès se produit lorsque vous démarrez une application qui s’exécute sur le CLR |
| 961884 | CORRECTIF : les performances d’une demande initiale envoyée à un site web ASP.NET sont très lentes après la modification du dossier App_Code, de la corbeille ou du fichier Global.asax. |
| 961885 | CORRECTIF : une erreur de violation d’accès s’affiche lorsque vous exécutez une application CLR qui appelle la méthode XslCompiledTransform.Transform |
| 961901 | CORRECTIF : Le mode IME spécifique que vous avez défini pour un champ Modifier peut disparaître lorsque vous revenez au champ Modifier à partir d’un formulaire Windows .NET Framework 2.0 SP2FIX : Le mode IME spécifique que vous avez défini pour un champ Modifier peut disparaître lorsque vous revenez au champ Modifier à partir d’un formulaire Windows .NET Framework 2.0 SP2 |
| 961902 | CORRECTIF : Message d’erreur lors de la compilation d’un projet ASP.NET qui contient de nombreux fichiers de ressources d’application : « Une exception de première chance du type « System.ArgumentException » s’est produite dans mscorlib.dll » |
| 962351 | CORRECTIF : les menus contextuels ne s’affichent pas lorsque vous utilisez Internet Explorer 8.0 en mode Standard pour afficher une page web ASP.NET avec des menus dynamiques |
| 962890 | CORRECTIF : Message d’erreur lorsqu’une application .NET Framework 2.0 appelle la fonction XmlTextReader.Read à plusieurs reprises : « La balise de début 'Permission' sur la ligne 171 ne correspond pas à la balise de fin de 'PermissionRead' » |
| 963676 | CORRECTIF : Le CLR échoue avec une erreur de moteur d’exécution irrécupérable et un incident se produit lorsque vous exécutez une application à l’aide de .NET Framework 2.0 Service Pack 2 |
| 967114 | CORRECTIF : Message d’erreur lors de l’utilisation de la méthode System.Data.DataTable.InsertRow ou de toute autre méthode de surcharge dans une application .NET Framework 2.0 pour insérer des lignes dans une table : « L’opération arithmétique a entraîné un dépassement de capacité » |
| 967613 | CORRECTIF : une application qui surveille les entrées du journal des événements se bloque lorsqu’elle appelle la méthode Dispose de la classe System.Diagnostics.EventLog |
| 967615 | CORRECTIF : Une application .NET Framework 2.0 SP2 ou .NET Framework 3.5 SP1 ne dispose pas correctement des objets de handle sécurisés qui ont été créés par l’objet WindowsIdentity |
| 967812 | Un correctif logiciel est disponible pour mettre à jour certaines propriétés de la classe System.Globalization.RegionInfo pour la Slovaquie, la Slovénie et la Turquie |
| 968108 | CORRECTIF : Les clients Web se bloquent ou vous rencontrez un comportement inattendu lorsque vous accédez à un site Web compatible ASP.NET 2.0 AJAX déployé dans une batterie Web |
| 968249 | CORRECTIF : une taille d’instance incorrecte est générée lorsque vous utilisez l’Exportateur de bibliothèque de types pour générer une bibliothèque de types à partir d’un assembly CLR dans .NET Framework 2.0 Service Pack 2 |
| 968392 | Message d’erreur et le contrôle de lien hypertexte n’est pas affiché si la propriété ImageUrl est définie dans Visual Studio 2005 ou Visual Studio 2008 après avoir installé .NET Framework 2.0 SP2 ou .NET Framework 3.5 SP1 : « La référence à l’objet n’est pas définie sur une instance d’un objet » |
| 968432 | CORRECTIF : une exception System.InvalidOperationException se produit lorsque vous exécutez une application web basée sur .NET Framework 2.0 SP2 ou .NET Framework 3.5 SP1 |
| 968556 | CORRECTIF : la méthode XslCompiledTransform.Transform n’a pas de méthode de surcharge qui accepte les objets XPathNavigator et XmlResolver en tant qu’arguments dans .NET Framework 2.0 |
| 968760 | Une application managée possède un nombre élevé de handles de threads et d’événements dans Microsoft .NET Framework 2.0 |
| 969364 | CORRECTIF : les blocs de code incorporés dans une page web ASP.NET 2.0 disparaissent lorsque vous utilisez l’outil Générer une ressource locale dans Visual Web Developer pour générer un fichier de ressources locales |
| 969612 | Description du correctif logiciel cumulatif pour ASP.NET 2.0 : avril 2009 |
| 969722 | CORRECTIF : Le compteur de performance « ASP.NET Apps v2.0.50727(__Total__)\Sessions actives » affiche une valeur déraisonnablement élevée après l’installation de Microsoft .NET Framework 3.5 Service Pack 1 |
| 969836 | CORRECTIF : un thread de travail dans une application Windows Forms .NET Framework 2.0 peut être bloqué lorsqu’il appelle la méthode Control.Invoke même si le thread d’interface graphique est inactif |
| 970350 | CORRECTIF : Message d’erreur d’exception lorsqu’un objet System.Drawing.FontConverter appelle la propriété FontFamily.Families dans .NET Framework 2.0 SP2 ou .NET Framework 3.5 SP1 : « Mémoire insuffisante » |
| 970510 | CORRECTIF : une exception TypeLoadException se produit lorsque vous exécutez une application .NET Framework 3.5 SP1. |
| 970924 | CORRECTIF : les performances des applications qui utilisent la méthode CreateType diminuent à mesure que vous ajoutez des objets de type à un module d’assemblage dynamique dans .NET Framework 2.0 SP2 |
| 971030 | CORRECTIF : Une violation d’accès se produit lorsque vous exécutez une application .NET Framework 2.0 qui a un appel virtuel de l’interface IList<T>, IEnumerable<T> ou ICollection<T> dans une méthode LCG |
| 971169 | CORRECTIF : Message d’erreur lors de l’exécution d’une application Web ASP.NET 2.0 si le nom du fichier de ressources global contient le nom de culture « zh-Hant » |
| 971601 | CORRECTIF : les compteurs de performance qui surveillent une application cessent de répondre lorsque l’application se ferme et redémarre et que vous recevez l’exception System.InvalidOperationException sur un ordinateur qui exécute .NET Framework 2.0 |
| 971988 | CORRECTIF : l’utilisation du processeur augmente considérablement lorsque vous exécutez une application Multi-AppDomain basée sur .NET Framework 2.0 qui utilise des objets dont les finaliseurs démarrent les méthodes ThreadPool |
| 971993 | Description du correctif logiciel qui permet aux applications Web ASP.NET de prendre en charge les identités basées sur les revendications lorsque vous utilisez des fournisseurs d’adhésion |
| 972259 | CORRECTIF : Les threads d’un programme .NET Framework 2.0 SP2 s’interrompent pendant une très longue période lorsque le nettoyage simultané de la mémoire est activé |
| 972848 | CORRECTIF : La génération d’un fichier minidump est lente et la taille du fichier est plus grande que prévu lorsque les informations collectées par le fichier ne sont pas du type MiniDumpWithFullMemory dans .NET Framework 2.0 |
Pour plus d’informations sur la maintenance à double branche, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
960043 la maintenance à double branche pour .NET Framework 2.0 Service Pack 2, .NET Framework 3.0 Service Pack 2 et .NET Framework 3.5 Service Pack 1
Solution de contournement
Pour contourner ce problème, procédez comme suit.
Étape 1
Installez le correctif 975954. Pour télécharger les mises à jour MSI, reportez-vous à la page web MSDN suivante :
http://code.msdn.microsoft.com/KB975954/Release/ProjectReleases.aspx?ReleaseId=3839
Étape 2
Exécuter une réparation du produit. Nous pouvons réparer le produit pour vous automatiquement, ou vous pouvez réparer le produit vous-même.
Exécuter la réparation pour moi
Pour exécuter une réparation automatique du produit, cliquez sur le bouton Réparer . Cliquez ensuite sur Exécuter dans la boîte de dialogue Téléchargement de fichier, puis suivez la procédure indiquée par l’Assistant Réparer.
Remarque : cet Assistant n’existe qu’en anglais. Toutefois, la résolution automatique fonctionne aussi pour d'autres versions linguistiques de Windows.
Remarque Si vous n’utilisez pas l’ordinateur concerné, vous pouvez enregistrer la résolution automatique sur un lecteur flash ou sur un CD-ROM afin de pouvoir l’exécuter sur l’ordinateur concerné par le problème.
Laissez-moi le réparer moi-même
Pour réparer le produit vous-même, tapez les lignes de commande appropriées suivantes à partir d’une invite de commandes avec élévation de privilèges :
Si vous ne disposez que de .NET Framework 2.0 Service Pack 2, exécutez la commande suivante :
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}Cette commande permet de réparer les couches de produit .NET Framework 2.0 SP2.Si .NET Framework 3.0 Service Pack 2 est installé, exécutez les commandes suivantes :
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}msiexec /f {A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}Ces commandes réparent les couches de produit .NET Framework 2.0 SP2 et .NET Framework 3.0 SP2.
Si .NET Framework 3.5 Service Pack 1 est installé, exécutez les commandes suivantes :
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}msiexec /f {A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}
msiexec /f {CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}Ces commandes réparent les couches de produits .NET Framework 2.0 SP2, .NET Framework 3.0 SP2 et .NET Framework 3.5 SP1.
Lorsque vous réparez les couches de produit en exécutant ces commandes, toutes les fonctionnalités de cette couche de produit (.NET Framework 2.0 SP2, .NET Framework 3.0 SP2 et .NET Framework 3.0 SP1) réévaluent leur état d’installation.
Cela résout le problème causé par une mauvaise ligne de base et permet à la mise à jour d’appliquer correctement sa charge utile.
Pour plus d’informations sur l’exécution d’une commande qui utilise des autorisations élevées, reportez-vous à la page web de Microsoft suivante :
http://windows.microsoft.com/en-US/windows7/Command-Prompt-frequently-asked-questions
Étape 3
Vous devrez peut-être réinstaller un correctif logiciel qui a été mis à jour et remplacé comme indiqué dans la section « Cause ». Pour déterminer si vous devez réinstaller un correctif logiciel mis à jour, consultez la section « Informations sur le remplacement du correctif logiciel » dans l’article de la Base de connaissances pour trouver le correctif logiciel que vous avez installé.
Informations supplémentaires
Pour plus d’informations sur les commutateurs de ligne de commande pris en charge par Windows Installer, reportez-vous à la page web MSDN suivante :
Options de ligne de commande Pour plus d’informations sur Windows Installer, reportez-vous à la page web MSDN suivante :