Uma assemblagem na cache de assemblagem global ou SxS está em falta depois de efectuar uma actualização principal utilizando um pacote do Windows Installer

Traduções de Artigos Traduções de Artigos
Artigo: 905238 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Depois de efectuar uma actualização principal utilizando um pacote do Microsoft Windows Installer, uma assemblagem na cache de assemblagem global ou SxS (lado a lado pasta, \Windows\WinSxS\) está em falta.

Causa

Este problema ocorre quando a acção do Windows Installer RemoveExistingProducts é ordenada numa localização que impede adequado da assemblagem de contagem de referência e que provoca a remoção prematuro da assemblagem. A acção RemoveExistingProducts é ordenada na tabela InstallExecuteSequence o pacote do Windows Installer. Este problema ocorre quando a acção RemoveExistingProducts é ordenada para que o produto antigo é removido antes do novo produto está instalado.

Quando uma assemblagem for colocada na cache de assemblagem global, a assemblagem de nome é mudada. Programa de instalação do Windows não consegue determinar o nome correcto da assemblagem. Programa de instalação do Windows tem dependem do Microsoft .NET Framework para gerir o nome.

Quando efectua uma actualização principal utilizando o Windows Installer pacote, Windows Installer invoca para o .NET Framework para testar se a assemblagem já está instalada na cache de assemblagem global. Se o .NET Framework devolve Sim, o componente que contém a assemblagem no pacote de actualização do Windows Installer principal não é permitido para instalação. Em seguida, a acção RemoveExistingProducts é executado e desinstala a assemblagem existente na cache de assemblagem global. A acção RemoveExistingProducts faz isto vez que o novo produto não foi registado como um cliente da assemblagem e outros clientes não existem. Uma vez que o componente de actualização principal não foi permitido para a instalação, a assemblagem não é reinstalada quando a actualização principal instala os componentes.

Se resequence a acção RemoveExistingProducts para agendar a desinstalação do produto antigo depois de instalar o novo produto, a assemblagem não será removida. A assemblagem não será removida porque a assemblagem agora tem mais contagem de referência do novo produto. Assim, mesmo que a instalação da assemblagem é ignorada para a actualização principal, a assemblagem permanece ainda porque a assemblagem faz referência a outro cliente. O novo produto e o produto antigo referenciam da assemblagem.

Nota Quando uma assemblagem não está localizada na cache de assemblagem global, não mudar o nome ocorre. As regras de versão de ficheiro padrão do Windows Installer aplicam-se e o componente de actualização principal é permitido para instalação.

Como contornar

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

Método 1

Aumente o atributo AssemblyVersion da assemblagem que está a tentar instalar para criar uma instalação lado a lado na cache de assemblagem global.

Método 2

Utilize uma ferramenta de criação de tabela do programa de instalação do Windows para alterar a sequência da acção RemoveExistingProducts in a InstallExecuteSequence tabela a ocorrer após a acção InstallFinalize. Por exemplo, utilize o Orca.exe base de dados editor de tabelas para criar ou editar o programa de instalação do Windows pacotes.

Mais Informação

Pode criar um pacote do Windows Installer num projecto do programa de configuração e implementação de projectos no Microsoft Visual Studio. NET. Quando a acção RemoveExistingProducts é ordenada neste pacote Windows Installer, a localização predefinida da RemoveExistingProducts acção na tabela InstallExecuteSequence faz com que o problema descrito na secção "Sintomas".

Para mais informações, visite os seguintes Web sites da Microsoft Developer Network (MSDN):
Programa de instalação do Windows
http://msdn2.microsoft.com/en-us/library/aa372866.aspx

Acçã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

Artigo: 905238 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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