Um assembly no cache global de assemblies ou SxS está faltando depois de executar uma atualização importante usando um pacote do Windows Installer

Traduções deste artigo Traduções deste artigo
ID do artigo: 905238 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Depois de executar uma atualização importante usando um pacote do Microsoft Windows Installer, um assembly no cache global de assemblies ou SxS (pasta lado-a-lado, \Windows\WinSxS\) está ausente.

Causa

Esse problema ocorre quando a ação do Windows Installer RemoveExistingProducts é seqüenciada em um local que impede que apropriado do assembly de contagem de referência e que faz com que a remoção prematuro do assembly. A ação RemoveExistingProducts é seqüência na tabela InstallExecuteSequence o pacote do Windows Installer. Esse problema ocorre quando a ação RemoveExistingProducts é seqüência para que o produto antigo é removido antes que o novo produto seja instalado.

Quando um assembly for colocado no cache global de assemblies, o assembly é renomeado. Windows Installer não é possível determinar o nome correto do assembly. Windows Installer deve contar com o Microsoft .NET Framework para gerenciar o nome.

Quando você executa uma atualização importante usando um Windows Installer do pacote, Windows Installer chama o .NET Framework para testar se o assembly já está instalado no cache global de assemblies. Se o .NET Framework retornará Sim, o componente que contém o assembly no pacote do Windows Installer atualização principal não é permitido para a instalação. Em seguida, a ação RemoveExistingProducts é executado e desinstala o assembly existente no cache global de assemblies. A ação RemoveExistingProducts faz isso porque o novo produto não foi registrado como um cliente do assembly e outros clientes não existem. Pois o componente de atualização principal não foi permitido para a instalação, o assembly não for reinstalado quando a atualização principal instala os componentes.

Se você resequence a ação RemoveExistingProducts para agendar a desinstalação do produto antigo após o novo produto está instalado, o assembly não será removido. O assembly não será removido porque o assembly agora tem um adicionais fazer referência a contagem de novo produto. Portanto, mesmo que a instalação do assembly é ignorada para a atualização principal, o assembly ainda permanece porque outro cliente faz referência o assembly. O novo produto e o produto antigo referência ao assembly.

Observação Quando um assembly não está localizado no cache de assembly global, não renomear ocorre. Aplicam as regras de versão de arquivo padrão do Windows Installer e o componente de atualização principal é permitido para instalação.

Como Contornar

Para contornar este problema, use um dos seguintes métodos.

Método 1

Aumente o atributo AssemblyVersion do assembly que você está tentando instalar para criar uma instalação lado a lado no cache global de assemblies.

Método 2

Use uma ferramenta de criação de tabela de Windows Installer para alterar a seqüência da ação RemoveExistingProducts in a InstallExecuteSequence tabela ocorra após a ação InstallFinalize. Por exemplo, use banco do Orca.exe dados editor de tabela para criar ou editar Windows Installer pacotes.

Mais Informações

Você pode criar um pacote do Windows Installer em um projeto de instalação e Deployment Projects em Microsoft Visual Studio.NET. Quando a ação RemoveExistingProducts é seqüenciada neste pacote Windows Installer, o local padrão dos RemoveExistingProducts ação na tabela InstallExecuteSequence causa o problema descrito na seção "Sintomas".

Para obter mais informações, visite os seguintes sites da Microsoft Developer Network (MSDN):
Windows Installer
http://msdn2.microsoft.com/en-us/library/aa372866.aspx

Ação RemoveExistingProducts
http://msdn2.microsoft.com/en-us/library/aa371197.aspx

Tabela InstallExecuteSequence
http://msdn2.microsoft.com/en-us/library/aa369500.aspx

Orca.exe
http://msdn2.microsoft.com/en-us/library/aa370557.aspx

Propriedades

ID do artigo: 905238 - Última revisão: quinta-feira, 11 de setembro de 2008 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Installer 3.1
  • Microsoft Windows Installer 3.0
  • Microsoft Windows Installer 2.0
Palavras-chave: 
kbmt kbwindowsinstaller kbinfo kbtshoot kbprb KB905238 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 905238

Submeter comentários

 

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