Mensagem de erro ao tentar implantar um aplicativo ClickOnce baseado no .NET Framework 2.0 que é assinado com um certificado encadeado: "O aplicativo está formatado incorretamente"

Aplica-se a
.NET Framework 3.5 Service Pack 1

Sintomas

Considere o seguinte cenário:

  • Você tem um aplicativo ClickOnce baseado no Microsoft .NET Framework 2.0 que é assinado com um certificado encadeado.
  • Na caixa de diálogo Configurações de Segurança no Internet Explorer, você desabilita a opção Executar componentes não assinados com Authenticode.
  • Você tenta implantar o aplicativo ClickOnce visitando o endereço do servidor que hospeda o aplicativo.

Nesse cenário, ocorre uma exceção System.Deployment.Application.InvalidDeploymentException. A seguinte mensagem de erro é exibida:

Observação

Título: Não é possível iniciar o aplicativo
Descrição: não é possível continuar. O aplicativo está formatado incorretamente.
Entre em contato com o fornecedor do aplicativo para obter assistência.

Além disso, depois de clicar em Detalhe na caixa de diálogo, você recebe a seguinte mensagem:

Seu navegador da Web não permite que você execute aplicativos não assinados.

Causa

Esse problema ocorre porque o ClickOnce não reconhece um certificado encadeado como um certificado Authenticode válido.

Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, este hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente em sistemas que apresentarem o problema descrito neste artigo. Testes adicionais poderão ser realizados neste hotfix. Portanto, se esse problema não prejudica você, é aconselhável aguardar a próxima atualização de software que contenha este hotfix.

 Se o hotfix estiver disponível para download, existirá uma seção "Download de hotfix disponível" na parte superior deste artigo da Base de Dados de Conhecimento. Se esta seção não aparecer, contate o Serviço de Suporte e Atendimento ao Cliente Microsoft para obter o hotfix.

Observação Se outros problemas estiverem ocorrendo ou se uma solução de problemas for necessária, talvez seja preciso criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a outras questões e problemas de suporte não qualificados para esse hotfix específico. Para obter uma lista completa dos números de telefone do Suporte e Atendimento ao Cliente da Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=support Observação O formulário "Download de hotfix disponível" mostra os idiomas para os quais o hotfix está disponível. Se o seu idioma não for exibido, significa que não há um hotfix disponível para ele.

Como alternativa, você pode baixar esse hotfix do seguinte site do Microsoft Connect:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=28951

Pré-requisitos

Você deve ter o Microsoft .NET Framework 2.0 Service Pack 2 (SP2) ou o Microsoft .NET Framework 3.5 Service Pack 1 (SP1) instalado para aplicar esse hotfix.

Necessidade de reinicialização

Não será necessário reiniciar o computador após aplicar esse hotfix se nenhuma instância do .NET Framework estiver em uso.

Informações sobre a substituição de hotfixes

Esse hotfix não substitui outros hotfixes.

Informações de arquivo

A versão em inglês deste hotfix tem os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e as horas desses arquivos estão listadas no formato UTC (Tempo Universal Coordenado). Quando você visualizar as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre a hora UTC e a hora local, use a guia Fuso Horário no item Data e Hora do Painel de Controle.

Para todas as versões com base em x86 do Windows XP, do Windows Server 2000 e do Windows Server 2003 com suporte

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Hora Plataforma
System.deployment.dll 2.0.50727.4401 970,752 14-Sep-2009 05:20 x86

                  

Para todas as versões com suporte baseadas em x64 do Windows XP, do Windows Server 2000 e do Windows Server 2003

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Hora Plataforma
System.deployment.dll 2.0.50727.4401 970,752 14-Sep-2009 04:55 x64

                  

Para todas as versões com suporte baseadas em Itanium do Windows XP, do Windows Server 2000 e do Windows Server 2003

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Hora Plataforma
System.deployment.dll 2.0.50727.4401 970,752 14-Sep-2009 04:55 IA-64

Para todas as versões com base em x86 com suporte do Windows Vista SP2 e do Windows Server 2008 SP2

                  

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Hora Plataforma
System.deployment.dll 2.0.50727.4431 970,752 08 de fevereiro de 2010 07:02 x86

Para todas as versões com base em x64 com suporte do Windows Vista SP2 e do Windows Server 2008 SP2

                  

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Hora Plataforma
System.deployment.dll 2.0.50727.4431 970,752 08 de fevereiro de 2010 07:02 x86

Para todas as versões baseadas em Itanium com suporte do Windows Server 2008 SP2

                  

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Hora Plataforma
System.deployment.dll 2.0.50727.4431 970,752 08 de fevereiro de 2010 07:02 x86

                  

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais informações

Informações adicionais sobre arquivos

Informações sobre o arquivo adicional para o Windows Vista SP2 e o Windows Server 2008 SP2

Arquivos adicionais para todas as versões com base em x86 compatíveis do Windows Server 2008 SP2 e do Windows Vista SP2

Nome do arquivo Msil_system.deployment_b03f5f7f11d50a3a_6.0.6002.22331_none_490c46ed4ae71a48.manifest
Versão do arquivo Não aplicável
Tamanho do arquivo 4,671
Data (UTC) 08 de fevereiro de 2010
Data (UTC) 13:43

Arquivos adicionais para todas as versões baseadas em x64 com suporte do Windows Server 2008 SP2 e do Windows Vista SP2

                  

Nome do arquivo Amd64_netfx-system.deployment_b03f5f7f11d50a3a_6.0.6002.22331_none_8bc8c3ffb14c485b.manifest
Versão do arquivo Não aplicável
Tamanho do arquivo 5,506
Data (UTC) 08 de fevereiro de 2010
Data (UTC) 13:37
Nome do arquivo Msil_system.deployment_b03f5f7f11d50a3a_6.0.6002.22331_none_490c46ed4ae71a48.manifest
Versão do arquivo Não aplicável
Tamanho do arquivo 4,671
Data (UTC) 08 de fevereiro de 2010
Data (UTC) 13:43

Arquivos adicionais para todas as versões baseadas em Itanium compatíveis do Windows Vista SP2

Nome do arquivo Ia64_netfx-system.deployment_b03f5f7f11d50a3a_6.0.6002.22331_none_d375d898c5c8a945.manifest
Versão do arquivo Não aplicável
Tamanho do arquivo 5,494
Data (UTC) 08 de fevereiro de 2010
Data (UTC) 13:17
Nome do arquivo Msil_system.deployment_b03f5f7f11d50a3a_6.0.6002.22331_none_490c46ed4ae71a48.manifest
Versão do arquivo Não aplicável
Tamanho do arquivo 4,671
Data (UTC) 08 de fevereiro de 2010
Data (UTC) 13:43
  • Authenticode é uma tecnologia da Microsoft que usa criptografia padrão do setor para assinar o código do aplicativo com certificados digitais. Os certificados digitais verificam a autenticidade do editor do aplicativo.
  • Uma cadeia de certificados é uma sequência de certificados. Cada certificado na cadeia é assinado pelo próximo certificado na sequência. As cadeias de certificação são criadas para estabelecer uma cadeia de confiança de um certificado par para um certificado de AC (autoridade de certificação) confiável. Os certificados na cadeia podem ser chamados de "certificados encadeados".

Para obter mais informações sobre a implantação do ClickOnce para aplicativos Microsoft .NET do Windows Forms, visite o seguinte site do Microsoft Developer Network (MSDN):

http://msdn.microsoft.com/en-us/library/wh45kb66.aspx