Sintomas
Considere o seguinte cenário:
-
Criar um projeto de instalação do Microsoft Visual Studio 2008 e instale o arquivo MSI gerado para um caminho de instalação.
-
Migrar o projeto de instalação para o Visual Studio 2010 e, em seguida, executar as seguintes ações para uma grande atualização:
-
Altere o campo da propriedade ProductVersion principal.
-
Altere a propriedade ProductCode .
-
Defina a propriedade RemovePreviousVersions como True.
-
-
Reconstruir o projeto de instalação e instale o arquivo MSI gerado no mesmo caminho de instalação.
Nesse cenário, os arquivos e chaves do registro para o caminho de instalação desaparecem inesperadamente.
Causa
Esse problema ocorre porque outro algoritmo de hash é usado para criar os GUIDs no Visual Studio 2010. Quando você instala o arquivo MSI que é criado a partir do projeto de instalação do Visual Studio 2010, o arquivo MSI determina que o GUID foi alterado e remove os arquivos e chaves do registro para o caminho de instalação com base na sequência do projeto.
Resolução
Para resolver esse problema, aplique esse hotfix. Esse hotfix introduz a propriedade BackwardCompatibleIDGeneration . Por padrão, essa propriedade é definida como False. Antes de criar o projeto de instalação no Visual Studio 2010, você precisa definir explicitamente a propriedade BackwardCompatibleIDGeneration como True para habilitar o hotfix.
Informações sobre o hotfix
Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente nos sistemas que estiverem enfrentando o problema descrito neste artigo. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contenha esse hotfix. Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação Em alguns casos, as taxas cobradas pelas ligações para o suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão. Para baixar esse hotfix do MSDN Code Gallery, visite o seguinte site da Microsoft:
http://code.msdn.microsoft.com/KB2418919Observação O MSDN Code Gallery exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma listado, é porque a página de recursos da Galeria de código não está disponível para esse idioma. Ou, você pode baixar esse hotfix do seguinte site do Microsoft Connect:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32676
Pré-requisitos
Para aplicar esse hotfix, você deve ter o Visual Studio 2010 instalado.
Informações de reinicialização
Você terá que reiniciar o computador após aplicar esse hotfix. Recomendamos que você feche todas as instâncias do Visual Studio ou dos aplicativos do Microsoft.NET Framework antes de aplicar esse hotfix.
Informações sobre a substituição de hotfixes
Esse hotfix não substitui nenhum hotfix lançado anteriormente.
Informações sobre o arquivo
A versão global deste hotfix instala arquivos que têm os atributos listados nas tabelas a seguir. As datas e as horas desses arquivos estão listadas em formato UTC (Tempo Universal Coordenado). As datas e as horas desses arquivos no seu computador local são exibidas na hora local, com o ajuste do horário de verão atual. Além disso, as datas e as horas poderão ser alteradas quando você realizar algumas operações nos arquivos.
Nome do arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Dpca.dll |
10.0.30319.464 |
236,872 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
145,232 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
145,744 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
146,256 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
147,280 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
147,792 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
148,304 |
11-May-2011 |
13:08 |
x86 |
Dpdpl.dll |
10.0.30319.464 |
904,520 |
11-May-2011 |
13:08 |
x86 |
Dpedt.dll |
10.0.30319.464 |
696,136 |
11-May-2011 |
13:08 |
x86 |
Dpplg.dll |
10.0.30319.464 |
2,606,408 |
11-May-2011 |
13:08 |
x86 |
Dpprj.dll |
10.0.30319.464 |
1,229,640 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
163,152 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
163,664 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
167,248 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
168,272 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
178,000 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
178,512 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
180,560 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
181,072 |
11-May-2011 |
13:08 |
x86 |
Dpprjui.dll |
10.0.30319.464 |
181,584 |
11-May-2011 |
13:08 |
x86 |
Projectsidl3.tlb |
Not applicable |
2,816 |
10-May-2011 |
03:47 |
Not applicable |
Solução alternativa
Para contornar esse problema, use um dos seguintes métodos:
-
Método 1: Altere manualmente todos os GUIDs de componente para ser o mesmo do Visual Studio 2008.
-
Método 2: Reorganizar a ação após a ação de InstallInitialize de RemoveExistingProducts . Isso certifica-se de que os arquivos mais antigos são removidos e reinstalados pela versão mais recente.Observação Esse método não funciona quando você compartilhou componentes.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Informações adicionais
Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft