Mage (geração de manifesto e ferramenta de edição)

A geração de manifesto e a ferramenta de edição (Mage) é uma ferramenta de linha de comando que ofereça suporte a criação e edição de manifestos de aplicativo e implantação. Como uma ferramenta de linha de comando Mage pode ser executado a partir de scripts em lotes e de outros aplicativos baseados no Windows, incluindo ASP.NET aplicativos.

Você também pode usar o MageUI.exe, um aplicativo gráfico, em vez de Mage. Para obter mais informações, consulte MageUI.exe (geração de manifesto e edição da ferramenta, o cliente gráfico).

  • As duas versões Mage e MageUI.exe são incluídas como um componente da Visual Studio 2010 de instalação. Para ver informações de versão, MageUI.exe de execução, selecione Helpe selecione sobre. Esta documentação descreve a versão 4.0.x.x de Mage e MageUI.exe.
Mage [commands] [commandOptions]

Parâmetros

A tabela a seguir mostra os comandos suportados pelo Mage. Para obter mais informações sobre as opções aceitas por esses comandos, consulte novo e opções de comando de atualização e Opções de comando do sinal de.

Comando

Descrição

-cc, ClearApplicationCache

Limpa o cache do aplicativo baixado de todos os aplicativos on-line somente.

-n, -New fileType [newOptions

Cria um novo arquivo de determinado tipo. Tipos válidos são:

  • Deployment: Cria um novo manifesto de implantação.

  • Application: Cria um novo manifesto de aplicativo.

Se você não especificar nenhum parâmetro adicional com este comando, ele criará um arquivo do tipo apropriado, com marcas de formatação padrão apropriado e valores de atributo.

Use o -ToFile opção (consulte a tabela a seguir) para especificar o nome do arquivo e o caminho do novo arquivo.

Use o -FromDirectory opção (consulte a tabela a seguir) para criar um manifesto de aplicativo com todos os assemblies para um aplicativo adicionado a <dependency> seção de manifesto.

-u, -Update [CaminhoDoArquivo] [OpçõesDeAtualização]

Altera um ou mais um arquivo de manifesto. Não é necessário especificar o tipo de arquivo que você está editando. Mage examinará o arquivo usando um conjunto de heurística e determinar se ele é um manifesto de implantação ou um manifesto de aplicativo.

Se você já entrou em um arquivo com um certificado, -Update removerá o bloco de assinatura de chave. Isso ocorre porque a assinatura de chave contém um hash do arquivo e modificar o arquivo processa o hash inválido.

Use o -ToFile opção (consulte a tabela a seguir) para especificar um novo nome de arquivo e o caminho em vez de sobrescrever o arquivo existente.

-s, -Sign [signOptions]

Par que utiliza uma tecla ou X X509 certificate para assinar um arquivo. As assinaturas são inseridas como os elementos XML dentro dos arquivos.

Você deve estar conectado à Internet ao assinar um manifesto que especifica um -TimestampUri valor.

-h, -?, -Help[verbose]

Descreve todos os comandos disponíveis e suas opções. Especificar verbose para obter ajuda detalhada.

Novo e atualizar as opções de comando

A tabela a seguir mostra as opções de suporte a -New e -Update comandos.

Opções

Valor padrão

Aplicável a

Descrição

-appc, -AppCodeBase manifestReference

Manifestos de implantação.

Insere uma referência de caminho de URL ou arquivo para o arquivo de manifesto do aplicativo. Esse valor deve ser o caminho completo para o manifesto do aplicativo.

-appm, -AppManifest manifestPath

Manifestos de implantação.

Insere uma referência para o manifesto da implantação de aplicativo em seu manifesto de implantação.

O arquivo indicado por manifestPath deve existir, ou será de Mage emitir um erro. Se o arquivo referenciado por manifestPath não é um aplicativo manifest, Mage emitirá um erro.

-cf, -CertFile filePath

Todos os tipos de arquivo.

Especifica o local de um X. 509 certificado digital para assinar um manifesto. Esta opção pode ser usada em conjunto com o -Password opção, se o certificado exigir uma senha.

-ch, -CertHash hashSignature

Todos os tipos de arquivo.

O hash de um certificado digital armazenado no armazenamento de certificados pessoal do computador cliente. Isso corresponde à seqüência de impressão digital de um certificado digital exibida no Console de certificados do Windows.

hashSignaturepode ser tanto maiúsculas ou minúsculas e pode ser fornecido como uma única seqüência ou com cada octeto da impressão digital separado por espaços e a impressão digital do inteira entre aspas.

-fd, -FromDirectory directoryPath

Manifestos de aplicativos.

Preenche o manifesto do aplicativo com descrições de todos os assemblies e arquivos encontrados em directoryPath, incluindo todas as subpastas, onde directoryPath é o diretório que contém o aplicativo que você deseja implantar. Para cada arquivo no diretório, o Mage decide se o arquivo é um assembly ou um arquivo estático. Se for um assembly, ele adiciona um <dependency> marca e installFrom atributo para o aplicativo com o nome do assembly, base de código e versão. Se for um arquivo estático, ele adiciona um <file> marca. Mage também usará um conjunto simples de heurística para detectar o executável principal do aplicativo e marcará como ponto de entrada do aplicativo ClickOnce no manifesto.

Mage nunca automaticamente irá marcar um arquivo como "dados" arquivo. Você deve fazer isso manualmente. Para obter mais informações, consulte Como Incluir um arquivo de dados em um aplicativo ClickOnce.

Mage também gera um hash para cada arquivo com base em seu tamanho. ClickOnce usa esses hashes para garantir que ninguém tenha violado os arquivos da implantação, pois o manifesto foi criado. Se qualquer um dos arquivos na sua implantação alterar, você pode executar o Mage com o -Update comando e o -FromDirectory opção e ele irá atualizar os hashes e versões de montagem de todos os arquivos referenciados.

-FromDirectoryincluirá todos os arquivos em todos os subdiretórios encontrados dentro de directoryPath.

Se você usar -FromDirectory com o -Update comando Mage removerá todos os arquivos no manifesto do aplicativo que não existem mais no diretório.

-if, -IconFile filePath

Manifestos de aplicativos.

Especifica o caminho completo para um.Arquivo de ícone ICO. Este ícone é exibido ao lado do nome do seu aplicativo no menu Iniciar e na sua entrada de adicionar ou remover programas. Se nenhum ícone for fornecido, um ícone padrão é usado.

-ip, -IncludeProviderURL url

verdadeiro

Manifestos de implantação.

Indica se o manifesto de implantação inclui o valor de local de atualização definido pelo -ProviderURL.

-i, -Install willInstall

verdadeiro

Manifestos de implantação.

Indica se o aplicativo de ClickOnce deve instalar no computador local ou se ele deve ser executado da Web. Instalando um aplicativo oferece o aplicativo uma presença no Windows Iniciar menu. Os valores válidos são "true" ou "t" e "false" ou "f".

Se você especificar o -MinVersion opção e um usuário tem uma versão menor do que -MinVersion instalado, ele forçará o aplicativo para instalar, independentemente do valor que você passa para -Install.

Esta opção não pode ser usada com o -BrowserHosted opção. Tentando especificar ambos para obter o manifesto mesmo resultará em erro.

-mv, -MinVersion [version]

A versão listada no manifesto de implantação ClickOnce, conforme especificado pelo -Version sinalizador.

Manifestos de implantação.

A versão mínima deste aplicativo que pode ser executado por um usuário. Esse sinalizador torna a versão nomeada do seu aplicativo uma atualização necessária. Se você soltar uma versão do seu produto com uma atualização para uma alteração significativa ou uma falha crítica de segurança, você pode usar esse sinalizador para especificar que essa atualização deve ser instalada e que o usuário não pode continuar a execução de versões anteriores.

versionpossui a mesma semântica como argumento para o -Version sinalizador.

-n, -Name nameString

Implantar

Todos os tipos de arquivo.

O nome é usado para identificar o aplicativo. ClickOnce usarão esse nome para identificar o aplicativo no Iniciar menu (se o aplicativo está configurado para instalar o próprio) e nas caixas de diálogo de elevação de permissões.

Observação

Se você estiver atualizando um manifesto existente e você não especificar um nome de editor com essa opção, o Mage atualiza o manifesto com o nome da empresa definido no computador.Para usar um nome diferente, certifique-se de usar esta opção e especifique o nome do editor desejado.

-pwd, -Password passwd

Todos os tipos de arquivo.

A senha é usada para assinar um manifesto com um certificado digital. Deve ser usado em conjunto com o -CertFile opção.

-p, Processor processorValue

MSIL

Manifestos de aplicativos.

Manifestos de implantação.

A arquitetura de microprocessador em que essa distribuição será executado. Esse valor é obrigatório se você estiver preparando um ou mais instalações, cujos assemblies tenham sido pré-compilados para um microprocessador específico. Os valores válidos incluem msil, x86, ia64, e amd64. MSIL é o Microsoft intermediate language, que significa que todos os assemblies são independentes de plataforma e o common language runtime (CLR) será just-in-time compilá-los quando pela primeira vez em que seu aplicativo é executado.

-pu, -ProviderURL url

Manifestos de implantação.

Especifica a URL que ClickOnce irá examinar as atualizações de aplicativos.

-pub, -Publisher publisherName

Manifestos de aplicativos.

Manifestos de implantação.

Adiciona o nome do Editor para o elemento de descrição de manifesto de implantação ou de aplicativo. Quando usado em um manifesto de aplicativo, -UseManifestForTrust também deve ser especificado com um valor "true" ou "t"; Caso contrário, esse parâmetro irá gerar um erro.

-s, -SupportURL url

Manifestos de aplicativos.

Manifestos de implantação.

Especifica o link que aparece em Adicionar ou remover programas para o aplicativo ClickOnce.

-ti, -TimestampUri uri

Manifestos de aplicativos.

Manifestos de implantação.

A URL de um serviço de carimbo de hora digital. Carimbo de hora os manifestos impede que você precise assinar novamente os manifestos deve seu certificado digital expirar antes de implantar a próxima versão do seu aplicativo. Para obter mais informações, consulte Windows root certificate program members.

-t, -ToFile filePath

  • Novo:

  • Implantação: Deploy.Application

  • Aplicativo: Application.exe.manifest

  • Atualização:

  • O arquivo de entrada.

Todos os tipos de arquivo.

Especifica o caminho de saída do arquivo que foi criado ou modificado.

Se -ToFile não é fornecido quando você usa -New, a saída é gravada atual trabalhando directory. Se -ToFile não é fornecido quando você usa -Update, Mage gravará o arquivo de volta para o arquivo de entrada.

-tr, -TrustLevel level

Intranet

Manifestos de aplicativos.

O nível de confiança para conceder ao aplicativo em computadores cliente. Os valores incluem "Internet", "Intranet" e "fulltrust".

-um, -UseManifestForTrust willUseForTrust

Falso

Manifestos de aplicativos.

Especifica se a assinatura digital do manifesto do aplicativo será usada para tomar decisões de confiança, quando o aplicativo é executado no cliente. Especificar "true" ou "t" indica que o manifesto do aplicativo será usado para decisões de confiança. Especificar "false" ou "f" indica que a assinatura de manifesto de implantação será usada.

-v, -Version versionNumber

1.0.0.0

Manifestos de aplicativos.

Manifestos de implantação.

A versão da implantação. O argumento deve ser uma seqüência de caracteres de versão válida do formato "n.n.n. n", onde"n" é um inteiro de 32 bits sem sinal.

-wpf, -WPFBrowserApp isWPFApp

FALSO

Manifestos de aplicativos.

Manifestos de implantação.

Use esse sinalizador somente se o aplicativo é um aplicativo de Windows Presentation Foundation (WPF) que será hospedado dentro do Internet Explorer e não é um executável autônomo. Os valores válidos são "true" ou "t" e "false" ou "f".

Para os manifestos de aplicativo insere o hostInBrowser atributo sob o entryPoint elemento do manifesto de aplicativo.

Para manifestos de implantação, define o install de atributo na deployment elemento para false e salva o manifesto de implantação com uma extensão de XBAP. Especificar este argumento junto com o -Install argumento produz um erro, porque um aplicativo hospedado no navegador não pode ser um aplicativo instalado, off-line.

Opções de comando do sinal

A tabela a seguir mostra as opções de suporte a -Sign comando, que se aplicam a todos os tipos de arquivos.

Opções

Descrição

-cf, -CertFile filePath

Especifica o local de um certificado digital para assinar um manifesto. Esta opção pode ser usada em conjunto com o -Password opção.

-ch, -CertHash hashSignature

O hash de um certificado digital armazenado no armazenamento de certificados pessoal do computador cliente. Isso corresponde à propriedade de impressão digital de um certificado digital exibido no Console de certificados do Windows.

hashSignaturepode ser tanto maiúsculas ou minúsculas e pode ser fornecido como uma única cadeia de caracteres ou com cada octeto da impressão digital separado por espaços e a impressão digital do inteira entre aspas.

-pwd, -Password passwd

A senha é usada para assinar um manifesto com um certificado digital. Deve ser usado em conjunto com o -CertFile opção.

-t, -ToFile filePath

Especifica o caminho de saída do arquivo que foi criado ou modificado.

Comentários

Todos os argumentos para Mage diferenciam maiúsculas de minúsculas. Comandos e opções podem ser prefixadas com um traço (-) ou uma barra (/).

Todos os argumentos usados com o -Sign comando pode ser usado a qualquer momento com o -New ou -Update comandos como bem. Os comandos a seguir são equivalentes.

mage -Sign c:\HelloWorldDeployment\HelloWorld.deploy -CertFile cert.pfx
mage -Update c:\HelloWorldDeployment\HelloWorld.deploy -CertFile cert.pfx

A assinatura é a última tarefa, que você deve executar, como um documento assinado usa um hash do arquivo para verificar se a assinatura é válida para o documento. Se você fizer alguma alteração para um arquivo assinado, deverá assiná-lo novamente. Se você assinar um documento que anteriormente foi assinado, Mage substituirá a antiga assinatura com o novo.

Quando você usa o -AppManifest a opção de preencher um manifesto de implantação, Mage assumirá que seu manifesto de aplicativo irá residir no mesmo diretório como a implantação de manifesto em um subdiretório nomeado de acordo com a versão atual de implantação e irá configurar seu manifesto de implantação adequadamente. Se o manifesto do aplicativo residirá em outro lugar, use o -AppCodeBase opção para definir o local alternativo.

O manifesto de implantação e o aplicativo deve ser assinado antes de implantar seu aplicativo. Para obter orientação sobre como assinar manifestos, consulte Visão geral sobre implantação de aplicativos confiáveis.

O -TrustLevel opção de manifestos de aplicativo descreve o conjunto de permissões que um aplicativo requer para executar no computador cliente. Por padrão, os aplicativos são atribuídos com base em um nível de confiança do zona no qual reside sua URL. Aplicativos implantados em uma rede corporativa geralmente são colocados na zona da Intranet, enquanto aqueles implantados pela Internet são colocados na zona da Internet. As duas zonas de segurança restringem o acesso do aplicativo aos recursos locais, com a zona de Intranet ligeiramente mais permissivo do que a zona da Internet. A zona FullTrust dá acesso completo de aplicativos para recursos de um computador local. Se você usar o -TrustLevel opção para colocar um aplicativo nessa zona, o componente Gerenciador de confiança do CLR solicitará que o usuário decidir se ele ou ela deseja conceder este nível mais alto de confiança. Se você estiver implantando seu aplicativo em uma rede corporativa, você pode usar a implantação de aplicativos confiáveis para elevar o nível de confiança do aplicativo sem avisar o usuário.

Manifestos de aplicativo também oferece suporte a seções de confiança personalizado. Isso ajuda a seu aplicativo obedecem o princípio de segurança de solicitando permissão menor, como você pode configurar o manifesto para exigem somente essas permissões específicas que o aplicativo requer para executar. Mage não oferece suporte direto a adição de uma seção de confiança personalizado. Você pode adicionar um usando a ferramenta gráfica MageUI.exe, um analisador XML ou um editor de texto. Para obter mais informações sobre como usar o MageUI.exe para adicionar seções de confiança personalizado, consulte MageUI.exe (geração de manifesto e edição da ferramenta, o cliente gráfico).

Manifestos de novos que são criados com a versão 4 do Mage. exe que está incluído no Visual Studio 2010, destino de .NET Framework 4 Client Profile. Para versões anteriores de destino do.NET Framework, você deve usar uma versão anterior do Mage. Quando adicionar ou remover módulos (assemblies) de um manifesto existente ou assinar novamente um manifesto existente, Mage não atualiza o manifesto para o destino do .NET Framework 4 Client Profile. As tabelas a seguir mostram a esses recursos e restrições.

Versão do manifesto

Operation

V 2.0 da imagem

V 4.0 da imagem

Manifesto para aplicativos voltados a versão 2.0 ou 3. x do.NET Framework

Abrir

OK

OK

Fechar

OK

OK

Salvar

OK

OK

Assinar novamente

OK

OK

Novo

OK

Sem suporte

Atualização (veja abaixo)

OK

OK

Manifesto para aplicativos voltados a versão 4 do.NET Framework

Abrir

OK

OK

Fechar

OK

OK

Salvar

OK

OK

Assinar novamente

OK

OK

Novo

Sem suporte

OK

Atualização (veja abaixo)

Sem suporte

OK

Versão do manifesto

Detalhes da operação de atualização

V 2.0 da imagem

V 4.0 da imagem

Manifesto para aplicativos voltados a versão 2.0 ou 3. x do.NET Framework

Modificar um assembly

OK

OK

Adicionar um assembly

OK

OK

Remover um assembly

OK

OK

Manifesto para aplicativos voltados a versão 4 do.NET Framework

Modificar um assembly

Sem suporte

OK

Adicionar um assembly

Sem suporte

OK

Remover um assembly

Sem suporte

OK

Mage cria novos manifestos destinados a .NET Framework 4 Client Profile. ClickOnce os aplicativos que se destinam a .NET Framework 4 Client Profile pode ser executado em ambos os .NET Framework 4 Client Profile e a versão completa do .NET Framework 4. Se seu aplicativo destina-se a versão completa da .NET Framework 4 e não é possível executar o .NET Framework 4 Client Profile, remova o cliente <framework> elemento usando um editor de texto e re-sign o manifesto. A seguir está um exemplo de <framework> o elemento que se destina a .NET Framework 4 Client Profile.

<framework targetVersion="4.0" profile="client" supportedRuntime="4.0.20506" />

Exemplos

O exemplo a seguir abre a interface de usuário para a imagem (MageUI.exe).

mage

Os exemplos a seguir criam um manifesto de implantação padrão e o manifesto do aplicativo. Esses arquivos são criados no diretório de trabalho atual e são chamados deploy.application e application.exe.manifest, respectivamente.

mage -New Deployment
mage -New Application

O exemplo a seguir cria um manifesto de aplicativo preenchido com todos os assemblies e arquivos de recurso a partir dodiretório atual.

mage -New Application -FromDirectory . -Version 1.0.0.0

O exemplo a seguir continua do exemplo anterior, especificando o microprocessador nome e o destino de implantação. Ela também especifica uma URL na qual ClickOnce deve verificar as atualizações.

mage -New Application -FromDirectory . -Name "Hello, World! Application" -Version 1.0.0.0 -Processor "x86" -ProviderUrl http://internalserver/HelloWorld/

O exemplo a seguir demonstra como criar um par de manifestos de implantação de um aplicativo do WPF será hospedado no Internet Explorer.

mage -New Application -FromDirectory . -Version 1.0.0.0 -WPFBrowserApp true
mage -New Deployment -AppManifest 1.0.0.0\application.manifest -WPFBrowserApp true

O exemplo a seguir atualiza um manifesto de implantação com informações do manifesto do aplicativo e define o código de base para o local do manifesto do aplicativo.

mage -Update HelloWorld.deploy -AppManifest 1.0.0.0\application.manifest -AppCodeBase http://internalserver/HelloWorld.deploy

O exemplo a seguir edita o manifesto de implantação para forçar uma atualização da versão instalada do usuário.

mage -Update c:\HelloWorldDeployment\HelloWorld.deploy -MinVersion 1.1.0.0

O exemplo a seguir informa o manifesto de implantação para recuperar o manifesto do aplicativo de outro diretório.

mage -Update HelloWorld.deploy -AppCodeBase http://anotherserver/HelloWorld/1.1.0.0/

O exemplo a seguir assina um manifesto de implantação existente usando um certificado digital no diretório de trabalho atual.

mage -Sign deploy.application -CertFile cert.pfx -Password <passwd>

Consulte também

Tarefas

Passo a passo: Implantando manualmente um <>>aplicativo ClickOnce

Referência

MageUI.exe (geração de manifesto e edição da ferramenta, o cliente gráfico)

Prompt de comando Visual Studio

Conceitos

<>>Implantação e segurança do ClickOnce

Visão geral sobre implantação de aplicativos confiáveis