Ao instalar determinadas actualizações para o .NET Framework 2.0 Service Pack 2, o .NET Framework 3.0 Service Pack 2 ou o .NET Framework 3.5 Service Pack 1, a actualização pode ser instalada com êxito. Contudo, os ficheiros podem não ser actualizados. Por isso, a actualização pode ser novamente disponibilizada pelo Windows Update.
Sintomas
Este cenário pode ocorrer por várias razões, incluindo determinados erros de instalação relacionados com o serviço de ramificação dupla. Entre Janeiro e Julho de 2009, foram publicadas várias correcções para o .NET Framework 2.0 Service Pack 2, o .NET Framework 3.0 Service Pack 2 e o .NET Framework 3.5 Service Pack 1, que contêm um defeito. Quando as correcções que apresentam este defeito são instaladas e, em seguida, se instala uma actualização de segurança, a presença da correcção impede que os ficheiros de payload da actualização de segurança sejam correctamente actualizados. Em determinados casos, este problema também se pode manifestar na forma do erro descrito no seguinte artigo da Base de Dados de Conhecimento Microsoft:
2262911 Erro de excepção "Não foi possível carregar o tipo 'System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy'" após instalar as actualizações 982167 ou 982168 A Microsoft removeu todas as correcções que incluíam este defeito e substituiu-as por correcções sem o defeito. Os artigos da Base de Dados de Conhecimento Microsoft relativos às correcções com defeito foram actualizados e indicam as correcções de substituição sem o defeito. Se tiver instalado uma das correcções com defeito aqui indicadas, aplique a solução descrita na secção "Solução" deste artigo para resolver o problema. Se não aplicar a solução, é possível que os ficheiros de payload de uma actualização de segurança não sejam actualizados correctamente, deixando o computador num estado inconsistente e possivelmente vulnerável.
Lista de Correcções com defeito
CORRECÇÃO: Ao imprimir um ficheiro XPS num computador baseado no Windows XP Service Pack 2 ou Service Pack 3, os caracteres do ficheiro XPS são impressos incorrectamente |
|
IX: É possível que o tipo de retorno ou o argumento de saída de um método do serviço ASMX que inclua uma propriedade com um setter interno não seja serializado num computador com o .NET Framework instalado |
|
CORRECÇÃO: Não é possível interceptar a excepção System.EnterpriseServices.TransactionProxyException com origem em outros domínios aplicacionais quando esta é accionada durante a conclusão de uma transacção |
|
CORRECÇÃO: Ao utilizar a ferramenta personalizada Msdatasetgenerator no .NET Framework 2.0 Service Pack 1 (SP1), o valor de escala e o valor de precisão no código gerado para um fornecedor independente de dados do .NET são diferentes dos valores definidos |
|
CORRECÇÃO: Recebe uma mensagem de erro de excepção ao utilizar o objecto BinaryFormatter para serializar e anular a serialização de um tipo genérico numa assemblagem do .NET Framework 2.0 Service Pack 2 ou do .NET Framework 3.5 Service Pack 1 |
|
CORRECÇÃO: Recebe a excepção ObjectDisposedException ao consultar o objecto Transaction.Current.TransactionInformation |
|
CORRECÇÃO: Mensagem de erro ao visualizar uma página no modo de estrutura após recompilar um projecto baseado no .NET Framework 3.5 Service Pack 1: "Erro ao criar o controlo – "Não foi possível definir o "[texto] ControlInstanceName" na propriedade "Nome_da_propriedade"” |
|
CORRECÇÃO: Poderá detectar vários problemas nos clientes Web ao aceder a um Web site ASP.NET 2.0 activado por AJAX |
|
CORRECÇÃO: Ocorre uma fuga de memória ao executar uma aplicação que requer o carregamento de uma assemblagem de modo misto por parte do CLR no .NET Framework 2.0 Service Pack 2 |
|
CORRECÇÃO: Ocorre uma violação de acesso ao iniciar uma aplicação que seja executada no CLR |
|
CORRECÇÃO: Verifica um desempenho muito lento num pedido inicial a um Web site ASP.NET após alterar a pasta App_Code, a pasta da reciclagem ou o ficheiro Global.asax |
|
CORRECÇÃO: Recebe um erro de violação de acesso ao executar uma aplicação do CLR que invoque o método XslCompiledTransform.Transform |
|
CORRECÇÃO: O modo IME específico definido para um campo Editar pode desaparecer ao regressar ao campo Editar de um formulário do Windows baseado no .NET Framework 2.0 SP2 CORRECÇÃO: O modo IME específico definido para um campo Editar pode desaparecer ao regressar ao campo Editar de um formulário do Windows baseado no .NET Framework 2.0 SP2 |
|
CORRECÇÃO: Mensagem de erro ao compilar um projecto ASP.NET que contenha muitos ficheiros de recursos de aplicações: "Ocorreu uma excepção de primeira hipótese do tipo "System.ArgumentException" em mscorlib.dll" |
|
CORRECÇÃO: Os menus de pop-up não são apresentados quando utiliza o Internet Explorer 8.0 no modo normal visualiza uma página Web da ASP.NET com menus dinâmicos |
|
CORRECÇÃO: Mensagem de erro quando uma aplicação baseada no .NET Framework 2.0 invoca a função XmlTextReader.Read repetidamente: "A tag de início "Permission" na linha 171 não coincide com a tag de fim "PermissionRead"" |
|
CORRECÇÃO: O CLR falha com um erro fatal do motor de execução e ocorre uma falha quando executa uma aplicação utilizando o .NET Framework 2.0 Service Pack 2 |
|
CORRECÇÃO: Mensagem de erro ao utilizar o método System.Data.DataTable.InsertRow ou qualquer outro método de sobrecarga numa aplicação baseada no .NET Framework 2.0 para inserir linhas numa tabela: "A operação aritmética resultou numa ultrapassagem da capacidade" |
|
CORRECÇÃO: Uma aplicação que monitoriza entradas do registo de eventos falha quando invoca o método Dispose da classe System.Diagnostics.EventLog |
|
CORRECÇÃO: Uma aplicação baseada no .NET Framework 2.0 SP2 ou no .NET Framework 3.5 SP1 não elimina correctamente objectos de rotina segura criados pelo objecto WindowsIdentity |
|
Encontra-se disponível uma correcção que actualiza algumas propriedades da classe System.Globalization.RegionInfo para a Eslováquia, a Eslovénia e a Turquia |
|
CORRECÇÃO: Os clientes Web poderão deixar de responder ou o utilizador poderá deparar-se com um comportamento inesperado ao aceder ao Web site activado para AJAX ASP.NET 2.0 que esteja implementado numa Web farm |
|
CORRECÇÃO: É gerado um tamanho de instância incorrecto ao utilizar o Exportador de Bibliotecas de Tipos para gerar uma biblioteca de tipos a partir de uma assemblagem do CLR no .NET Framework 2.0 Service Pack 2 |
|
Mensagem de erro e o controlo de hiperligação não é processado se a propriedade ImageUrl estiver definida no Visual Studio 2005 ou no Visual Studio 2008 após instalar o .NET Framework 2.0 SP2 ou o .NET Framework 3.5 SP1:"A referência de objecto não foi definida como uma instância de um objecto" |
|
CORRECÇÃO: Ocorre uma excepção System.InvalidOperationException ao executar uma aplicação Web baseada no .NET Framework 2.0 SP2 ou no .NET Framework 3.5 SP1 |
|
CORRECÇÃO: O método XslCompiledTransform.Transform não tem um método de sobrecarga que aceite os objectos XPathNavigator e XmlResolver como argumentos no .NET Framework 2.0 |
|
Um aplicação gerida tem um número elevado de identificadores de thread e de identificadores de eventos no Microsoft .NET Framework 2.0 |
|
CORRECÇÃO: Blocos de código incorporados numa página Web ASP.NET 2.0 desaparecem ao utilizar a ferramenta Gerar Recurso Local no Visual Web Developer para gerar um ficheiro de recurso local |
|
Descrição do pacote de conjunto de correcções para o ASP.NET 2.0: Abril de 2009 |
|
CORRECÇÃO: O contador de desempenho "ASP.NET Apps v2.0.50727(__Total__)\Sessions Active" apresenta um valor desmesurado após a instalação do Microsoft .NET Framework 3.5 Service Pack 1 |
|
CORRECÇÃO: É possível que uma thread de trabalho de uma aplicação do Windows Forms baseada no .NET Framework 2.0 seja bloqueada ao invocar o método Control.Invoke mesmo que a thread da GUI esteja inactiva |
|
CORRECÇÃO: Mensagem de erro de excepção quando um objecto System.Drawing.FontConverter invoca a propriedade FontFamily.Families no .NET Framework 2.0 SP2 ou no .NET Framework 3.5 SP1: "Memória esgotada" |
|
CORRECÇÃO: Ocorre uma excepção TypeLoadException ao executar uma aplicação baseada no .NET Framework 3.5 SP1 |
|
CORRECÇÃO: O desempenho das aplicações que utilizam o método CreateType é reduzido à medida que adiciona mais objectos de tipo a um módulo de assemblagem dinâmico no .NET Framework 2.0 SP2 |
|
CORRECÇÃO: Ocorre uma violação de acesso ao executar uma aplicação baseada no .NET Framework 2.0 que tenha uma chamada virtual para a interface IList<T>, IEnumerable<T> ou ICollection<T> num método LCG |
|
CORRECÇÃO: Mensagem de erro ao executar uma aplicação Web ASP.NET 2.0 se o nome do ficheiro de recursos globais tiver o nome de cultura "zh-Hant" |
|
CORRECÇÃO: Os contadores de desempenho que monitorizam uma aplicação deixam de responder quando a aplicação é encerrada e reiniciada e recebe a excepção System.InvalidOperationException num computador com o .NET Framework 2.0 |
|
CORRECÇÃO: A utilização da CPU aumenta significativamente quando executa uma aplicação Multi-AppDomain baseada no .NET Framework 2.0 que utilize objectos cujos finalizadores executem métodos ThreadPool |
|
Descrição da correcção que activa aplicações Web ASP.NET que suportam identidades com base em pedidos quando utiliza fornecedores de associação |
|
CORRECÇÃO: Os threads de um programa baseado no .NET Framework 2.0 SP2 são colocados no modo de pausa durante longos períodos de tempo quando a recolha simultânea de ficheiros inválidos é activada |
|
CORRECÇÃO: A criação de um ficheiro de informação mínima é lenta e o tamanho do ficheiro será maior do que o previsto quando as informações recolhidas pelo ficheiro não forem do tipo MiniDumpWithFullMemory no .NET Framework 2.0 |
Para mais informações sobre o serviço de ramificação dupla, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
960043 Serviço de Ramificação Dupla para o .NET Framework 2.0 Service Pack 2, o .NET Framework 3.0 Service Pack 2 e o .NET Framework 3.5 Service Pack 1
Causa
Para contornar este problema, siga estes passos.
Passo 1
Instale a correcção 975954. Para transferir as actualizações do MSI, visite a seguinte página Web da MSDN:
http://code.msdn.microsoft.com/KB975954/Release/ProjectReleases.aspx?ReleaseId=3839
Passo 2
Execute uma reparação do produto. Pode solicitar-nos a reparação automática do produto ou pode repará-lo por si mesmo.
Executar a reparação por mim
Para executar uma reparação automática do produto, clique no botão Fix it. Clique em Executar na caixa de diálogo Transferência de Ficheiros e, em seguida, siga os passos indicados no assistente de correcção Fix it.
Nota Este assistente encontra-se apenas em inglês. Contudo, a correcção automática também funciona para versões do Windows noutros idiomas.
Nota: se não estiver a trabalhar no computador que tem o problema, pode guardar a correcção automática numa unidade Flash ou num CD para poder executá-la no computador que tem o problema.
Deixar-me efectuar a reparação
Para reparar o produto por si mesmo, escreva, de entre as que se seguem, as linhas de comando adequadas ao seu caso numa linha de comandos elevada:
-
Se apenas tiver o .NET Framework 2.0 Service Pack 2 instalado, execute o seguinte comando:
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}Este comando repara as camadas de produto do .NET Framework 2.0 SP2.
-
Se tiver o .NET Framework 3.0 Service Pack 2 instalado, execute os seguintes comandos:
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
msiexec /f {A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}Estes comandos reparam as camadas de produto do .NET Framework 2.0 SP2 e do .NET Framework 3.0 SP2. -
Se tiver o .NET Framework 3.5 Service Pack 1 instalado, execute os seguintes comandos:
msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
msiexec /f {A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}
msiexec /f {CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}Estes comandos reparam as camadas de produto do .NET Framework 2.0 SP2, do .NET Framework 3.0 SP2 e do .NET Framework 3.5 SP1.
Ao reparar as camadas de produto executando estes comandos, todas as funcionalidades dessa camada de produto (o .NET Framework 2.0 SP2, o .NET Framework 3.0 SP2 e o .NET Framework 3.0 SP1) reavaliam o respectivo estado de instalação.
Esta acção resolve o problema causado pela linha base incorrecta e permite que a actualização aplique o respectivo payload com êxito.
Para obter mais informações sobre como executar um comando com permissões elevadas, visite a seguinte página Web da Microsoft:
http://windows.microsoft.com/pt-PT/windows7/Command-Prompt-frequently-asked-questions?e3ef7248
Como contornar
Para mais informações sobre os parâmetros de linha de comandos suportados pelo Windows Installer, visite a seguinte página Web da MSDN:
Opções da Linha de ComandosPara mais informações sobre o Windows Installer, visite a seguinte página Web da MSDN: