Assinar novamente os manifestos de aplicativo e implantação
Depois de fazer alterações nas propriedades de implantação no manifesto do aplicativo para aplicativos Windows Forms, aplicativos Windows Presentation Foundation (xbap) ou soluções do Office, você precisa assinar novamente os manifestos de aplicativo e de implantação com um certificado. Esse processo ajuda a garantir que arquivos violados não sejam instalados nos computadores dos usuários finais.
Outro cenário em que você pode assinar novamente os manifestos é quando os clientes desejam usar um certificado próprio para assinar o aplicativo e os manifestos de implantação.
Assinar novamente os manifestos de aplicativo e de implantação
Este procedimento pressupõe que você já tenha feito alterações no arquivo de manifesto do aplicativo (.manifest). Para obter mais informações, confira Como alterar as propriedades de implantação.
Observação
No ClickOnce para .NET Core 3.1 e .NET 5 ou posterior, use dotnet-mage.exe em vez de Mage.exe. Para obter mais informações, confira ClickOnce para .NET.
Para assinar novamente os manifestos de aplicativo e implantação com Mage.exe
Abra uma janela de Prompt de comando do Visual Studio.
Altere os diretórios para a pasta que contém os arquivos de manifesto que você deseja assinar.
Digite o comando a seguir para assinar o arquivo de manifesto do aplicativo. Substitua ManifestFileName pelo nome do arquivo de manifesto mais a extensão. Substitua Certificate pelo caminho relativo ou totalmente qualificado do arquivo de certificado e substitua Password pela senha do certificado.
mage -sign ManifestFileName.manifest -CertFile Certificate -Password Password
Por exemplo, você pode executar o comando a seguir para assinar um manifesto do aplicativo para um suplemento, um aplicativo do Windows Forms ou um aplicativo de navegador do Windows Presentation Foundation. Certificados temporários criados pelo Visual Studio não são recomendados para implantação em ambientes de produção.
mage -sign WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx mage -sign ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx mage -sign WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
Digite o comando a seguir para atualizar e assinar o arquivo de manifesto de implantação, substituindo os nomes de espaço reservado como na etapa anterior.
mage -update DeploymentManifest -appmanifest ApplicationManifest -CertFile Certificate -Password Password
Por exemplo, você pode executar o comando a seguir para atualizar e assinar um manifesto de implantação para um suplemento do Excel, um aplicativo do Windows Forms ou um aplicativo de navegador do Windows Presentation Foundation.
mage -update WindowsFormsApplication1.application -appmanifest WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx mage -update ExcelAddin1.vsto -appmanifest ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx mage -update WpfBrowserApplication1.xbap -appmanifest WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
Opcionalmente, copie o manifesto de implantação mestre (publish\<nomedoaplicativo>.application) para o diretório de implantação de versão (publish\Application Files\<nomedoaplicativo>_<versão>).
Atualizar e assinar novamente os manifestos de aplicativo e de implantação
Este procedimento pressupõe que você já tenha feito alterações no arquivo de manifesto de aplicativo (.manifest), mas que existam outros arquivos que tenham sido atualizados. Quando os arquivos são atualizados, o hash que representa o arquivo também precisa ser atualizado.
Para atualizar e assinar novamente os manifestos de aplicativo e implantação com Mage.exe
Abra uma janela de Prompt de comando do Visual Studio.
Altere os diretórios para a pasta que contém os arquivos de manifesto que você deseja assinar.
Remova a extensão de arquivo .deploy dos arquivos na pasta de saída de publicação.
Digite o comando a seguir para atualizar o manifesto de aplicativo com os novos hashes para os arquivos atualizados e assinar o arquivo de manifesto de aplicativo. Substitua ManifestFileName pelo nome do arquivo de manifesto mais a extensão. Substitua Certificate pelo caminho relativo ou totalmente qualificado do arquivo de certificado e substitua Password pela senha do certificado.
mage -update ManifestFileName.manifest -CertFile Certificate -Password Password
Por exemplo, você pode executar o comando a seguir para assinar um manifesto do aplicativo para um suplemento, um aplicativo do Windows Forms ou um aplicativo de navegador do Windows Presentation Foundation. Certificados temporários criados pelo Visual Studio não são recomendados para implantação em ambientes de produção.
mage -update WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx mage -update ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx mage -update WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
Digite o comando a seguir para atualizar e assinar o arquivo de manifesto de implantação, substituindo os nomes de espaço reservado como na etapa anterior.
mage -update DeploymentManifest -appmanifest ApplicationManifest -CertFile Certificate -Password Password
Por exemplo, você pode executar o comando a seguir para atualizar e assinar um manifesto de implantação para um suplemento do Excel, um aplicativo do Windows Forms ou um aplicativo de navegador do Windows Presentation Foundation.
mage -update WindowsFormsApplication1.application -appmanifest WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx mage -update ExcelAddin1.vsto -appmanifest ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx mage -update WpfBrowserApplication1.xbap -appmanifest WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
Adicione a extensão de arquivo .deploy de volta aos arquivos, exceto os arquivos de manifesto de aplicativo e de implantação.
Opcionalmente, copie o manifesto de implantação mestre (publish\<nomedoaplicativo>.application) para o diretório de implantação de versão (publish\Application Files\<nomedoaplicativo>_<versão>).
Conteúdo relacionado
- Proteger aplicativos ClickOnce
- Segurança de acesso do código para aplicativos ClickOnce
- ClickOnce e Authenticode
- Visão geral da implantação de aplicativos confiáveis
- Habilitar e configurar a segurança do ClickOnce
- Definir uma zona de segurança para um aplicativo ClickOnce
- Definir permissões personalizadas para um aplicativo ClickOnce
- Depurar um aplicativo ClickOnce com permissões restritas
- Adicionar um editor confiável a um computador cliente para aplicativos ClickOnce
- Configurar o comportamento de prompt confiável do ClickOnce