Passo a passo: implantar manualmente um aplicativo ClickOnce que não requer nova assinatura e que preserva informações de identidade visual
Quando você cria um aplicativo ClickOnce e o dá a um cliente para publicar e implantar, o cliente tradicionalmente precisa atualizar o manifesto de implantação e assiná-lo novamente. Embora esse ainda seja o método preferencial na maioria dos casos, o .NET Framework 3.5 permite criar implantações do ClickOnce que podem ser implantadas pelos clientes sem precisar regenerar um novo manifesto de implantação. Para obter mais informações, confira Implantar aplicativos ClickOnce para servidores de teste e produção sem assiná-los novamente.
Quando você cria um aplicativo ClickOnce e o fornece a um cliente para publicar e implantar, o aplicativo pode usar a identidade visual do cliente ou preservar sua identidade visual. Por exemplo, se o aplicativo for apenas um aplicativo proprietário, talvez você queira preservar sua identidade visual. Se o aplicativo for altamente personalizado para cada cliente, talvez você queira usar a identidade visual do cliente. O .NET Framework 3.5 permite preservar sua identidade visual, informações do editor e assinatura de segurança ao fornecer um aplicativo a uma organização para implantação. Para obter mais informações, confira Criar aplicativos ClickOnce para outras pessoas implantarem.
Observação
Neste passo a passo, você cria implantações manualmente usando a ferramenta de linha de comando Mage.exe ou a ferramenta gráfica MageUI.exe. Para obter mais informações sobre implantações manuais, confira Passo a passo: implantar manualmente um aplicativo ClickOnce.
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.
Pré-requisitos
Para executar as etapas neste passo a passo, você precisa do seguinte:
Um aplicativo do Windows Forms que você está pronto para implantar. Esse aplicativo será chamado de WindowsFormsApp1.
Visual Studio ou o SDK do Windows.
Para implantar um aplicativo ClickOnce com várias implantações e suporte à identidade visual usando Mage.exe
Abra um prompt de comando do Visual Studio ou um prompt de comando do SDK do Windows e altere para o diretório no qual você armazenará seus arquivos ClickOnce.
Crie um diretório nomeado como a versão atual da implantação. Se esta for a primeira vez que você estiver implantando o aplicativo, provavelmente escolherá 1.0.0.0.
Observação
A versão da implantação pode ser distinta da versão dos arquivos do aplicativo.
Crie um subdiretório chamado bin e copie todos os seus arquivos de aplicativo aqui, incluindo arquivos executáveis, assemblies, recursos e arquivos de dados.
Gere o manifesto do aplicativo com uma chamada para Mage.exe.
mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
Assine o manifesto do aplicativo com seu certificado digital.
mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
Gere o manifesto de implantação com uma chamada para Mage.exe. Por padrão, Mage.exe marcará sua implantação do ClickOnce como um aplicativo instalado, para que ele possa ser executado online e offline. Para disponibilizar o aplicativo somente quando o usuário estiver online, use o argumento
-i
com um valorf
. Como esse aplicativo aproveitará o recurso de implantação múltipla, exclua o argumento-providerUrl
para Mage.exe. (Em versões do .NET Framework anteriores à versão 3.5, a exclusão de-providerUrl
para um aplicativo offline resultará em um erro.)mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
Não assine o manifesto de implantação.
Forneça todos os arquivos ao cliente, que implantará o aplicativo na própria rede.
Neste ponto, o cliente precisa assinar o manifesto de implantação com o próprio certificado autogerenciado. Por exemplo, se o cliente trabalhar para uma empresa chamada Adventure Works, poderá gerar um certificado autoassinado usando a ferramenta MakeCert.exe. Em seguida, use a ferramenta Pvk2pfx.exe para combinar os arquivos criados por MakeCert.exe em um arquivo PFX que pode ser passado para Mage.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Em seguida, o cliente usa esse certificado para assinar o manifesto de implantação.
mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
O cliente implanta o aplicativo para os próprios usuários.
Para implantar um aplicativo ClickOnce com várias implantações e suporte à identidade visual usando MageUI.exe
Abra um prompt de comando do Visual Studio ou um prompt de comando do SDK do Windows e navegue até o diretório no qual armazenará seus arquivos ClickOnce.
Crie um subdiretório chamado bin e copie todos os seus arquivos de aplicativo aqui, incluindo arquivos executáveis, assemblies, recursos e arquivos de dados.
Crie um subdiretório com o nome da versão atual da implantação. Se esta for a primeira vez que você estiver implantando o aplicativo, provavelmente escolherá 1.0.0.0.
Observação
A versão da implantação pode ser distinta da versão dos arquivos do aplicativo.
Mova o diretório \bin para o diretório que você criou na etapa 2.
Inicie a ferramenta gráfica MageUI.exe.
MageUI.exe
Crie um manifesto do aplicativo selecionando Arquivo, Novo, Manifesto do Aplicativo no menu.
Na guia Nome padrão, insira o nome e o número de versão dessa implantação. Além disso, forneça um valor para Fornecedor, que será usado como o nome da pasta para o link de atalho do aplicativo no menu Iniciar quando ele for implantado.
Selecione a guia Opções do Aplicativo e clique em Usar Manifesto do Aplicativo para Informações de Confiança. Isso habilitará a identidade visual de terceiros para este aplicativo ClickOnce.
Selecione a guia Arquivos e clique no botão Procurar ao lado da caixa de texto Diretório do Aplicativo.
Selecione o diretório que contém os arquivos de aplicativo que você criou na etapa 2 e clique em OK na caixa de diálogo de seleção de pasta.
Clique no botão Preencher para adicionar todos os arquivos de aplicativo à lista de arquivos. Se o aplicativo contiver mais de um arquivo executável, marque o arquivo executável principal para essa implantação como o aplicativo de inicialização, selecionando Ponto de Entrada na lista suspensa Tipo de Arquivo. (Se o aplicativo contiver apenas um arquivo executável, MageUI.exe o marcará para você.)
Selecione a guia Permissões Necessárias e selecione o nível de confiança que você precisa que seu aplicativo assegure. O padrão é Confiança Total, que será apropriado para a maioria dos aplicativos.
Selecione Arquivo, Salvar no menu e salve o manifesto do aplicativo. Você será solicitado a assinar o manifesto do aplicativo ao salvá-lo.
Se você tiver um certificado armazenado como um arquivo em seu sistema de arquivos, use a opção Assinar como arquivo de certificado e selecione o certificado no sistema de arquivos usando o botão de reticências (...).
-ou-
Se o certificado for mantido em um repositório de certificados que pode ser acessado no computador, selecione a opção Assinar com certificado armazenado e selecione o certificado na lista fornecida.
Selecione Arquivo, Novo e Manifesto de Implantação no menu para criar seu manifesto de implantação e, na guia Nome, forneça um nome e um número de versão (1.0.0.0 neste exemplo).
Alterne para a guia Atualizar e especifique a frequência com que você deseja que esse aplicativo seja atualizado. Se o aplicativo usar a API de Implantação do ClickOnce para verificar se há atualizações por conta própria, desmarque a caixa de seleção rotulada Este aplicativo deve verificar se há atualizações.
Alterne para a guia Referência de Aplicativo. Você pode preencher previamente todos os valores nessa guia clicando no botão Selecionar Manifesto e selecionando o manifesto do aplicativo criado nas etapas anteriores.
Escolha Salvar e salve o manifesto de implantação em disco. Você será solicitado a assinar o manifesto do aplicativo ao salvá-lo. Clique em Cancelar para salvar o manifesto sem assiná-lo.
Forneça todos os arquivos do aplicativo ao cliente.
Neste ponto, o cliente precisa assinar o manifesto de implantação com o próprio certificado autogerenciado. Por exemplo, se o cliente trabalhar para uma empresa chamada Adventure Works, poderá gerar um certificado autoassinado usando a ferramenta MakeCert.exe. Em seguida, use a ferramenta Pvk2pfx.exe para combinar os arquivos criados por MakeCert.exe em um arquivo PFX que pode ser passado para MageUI.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Com o certificado gerado, o cliente agora assina o manifesto de implantação abrindo o manifesto de implantação no MageUI.exe e salvando-o. Quando a caixa de diálogo de assinatura é exibida, o cliente seleciona a opção Assinar como arquivo de certificado e escolhe o arquivo PFX salvo no disco.
O cliente implanta o aplicativo para os próprios usuários.