Sintomas
Considere o seguinte cenário:
-
Criar um projecto de programa de configuração do Microsoft Visual Studio 2008 e em seguida, instale o ficheiro MSI gerado um caminho de instalação.
-
Migrar o projecto de programa de configuração para o Visual Studio 2010 e, em seguida, efectuar as seguintes acções para uma actualização importante:
-
Alterar o campo da propriedade ProductVersion principal.
-
Alterar propriedade ProductCode .
-
Definir a propriedade RemovePreviousVersions como True.
-
-
O projecto de programa de configuração e, em seguida, instale o ficheiro MSI gerado no mesmo caminho de instalação.
Neste cenário, os ficheiros e chaves de registo para o caminho de instalação desapareçam inesperadamente.
Causa
Este problema ocorre porque um algoritmo hash diferente é utilizado para criar os GUIDs no Visual Studio 2010. Quando instala o ficheiro MSI criado a partir do projecto de programa de configuração do Visual Studio 2010, o ficheiro MSI determina que o GUID foi alterado e remove os ficheiros e chaves de registo para o caminho de instalação com base na sequência do projecto.
Resolução
Para resolver este problema, aplique esta correcção. Esta correcção introduz a propriedade BackwardCompatibleIDGeneration . Por predefinição, esta propriedade é definida como False. Antes de criar o projecto de programa de configuração no Visual Studio 2010, tem de definir explicitamente a propriedade BackwardCompatibleIDGeneration como True para activar a correcção.
Informações sobre correção
Existe uma correção suportada pela Microsoft. No entanto, esta correcção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção. Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um Técnico de Suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de normais do suporte serão aplicados a questões de suporte adicionais e problemas que não se enquadrem na atualização específica em questão. Para transferir esta correcção a partir da Galeria de códigos MSDN, visite o seguinte Web site da Microsoft:
http://code.msdn.microsoft.com/KB2418919Nota Galeria de códigos MSDN apresenta os idiomas nos quais a correcção está disponível. Se não vir o idioma listado, é porque a página de recursos da Galeria de códigos não está disponível para esse idioma. Em alternativa, pode transferir esta correcção a partir do seguinte Web site Microsoft Connect:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32676
Pré-requisitos
Para aplicar esta correcção, tem de ter o Visual Studio 2010 instalado.
Informações sobre reinício
Poderá ter de reiniciar o computador depois de aplicar esta correção. Recomendamos que saia de todas as instâncias do Visual Studio ou as aplicações do Microsoft .NET Framework antes de aplicar esta correcção.
Informações sobre substituição de correções
Esta correção não substitui uma correção disponibilizada anteriormente.
Informações de ficheiro
A versão global desta correção instala ficheiros que têm os atributos listados nas tabelas seguintes. As datas e horas destes ficheiros são listadas na Hora Universal Coordenada (UTC). As datas e horas destes ficheiros no computador local são apresentadas na hora local em conjunto com a compensação de hora de Verão (DST) atual. Além disso, as datas e horas podem ser alteradas quando são executadas determinadas operações nos ficheiros.
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
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 |
Não aplicável |
2,816 |
10-May-2011 |
03:47 |
Não aplicável |
Solução
Para contornar este problema, utilize um dos seguintes métodos:
-
Método 1: Altere manualmente todos os GUIDs de componente a ser os mesmos que os do Visual Studio 2008.
-
Método 2: Resequence a acção RemoveExistingProducts após a acção InstallInitialize . Isto torna-se de que os ficheiros mais antigos são removidos e, em seguida, reinstalar a versão mais recente.Nota Este método não funciona quando partilhou componentes.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informações
Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft