Mage.exe (Ferramenta de Geração e Edição de Manifesto)Mage.exe (Manifest Generation and Editing Tool)

A Manifest Generation and Editing Tool (Mage.exe) é uma ferramenta de linha de comando que dá suporte à criação e à edição dos manifestos de aplicativo e implantação.The Manifest Generation and Editing Tool (Mage.exe) is a command-line tool that supports the creation and editing of application and deployment manifests. Como uma ferramenta de linha de comando, Mage.exe pode ser executado com base tanto em scripts de lote quanto em aplicativos com base no Windows, inclusive aplicativos do ASP.NETASP.NET.As a command-line tool, Mage.exe can be run from both batch scripts and other Windows-based applications, including ASP.NETASP.NET applications.

Também é possível usar MageUI.exe, um aplicativo gráfico, em vez de Mage.exe.You can also use MageUI.exe, a graphical application, instead of Mage.exe. Para obter mais informações, consulte MageUI.exe (Manifest Generation and Editing Tool, Cliente Gráfico).For more information, see MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).

Essa ferramenta é instalada automaticamente com o Visual Studio.This tool is automatically installed with Visual Studio. Para executar a ferramenta, use o Prompt de Comando do Desenvolvedor (ou o Prompt de Comando do Visual Studio no Windows 7).To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7). Para obter mais informações, consulte Prompts de Comando.For more information, see Command Prompts.

Duas versões de Mage.exe e de MageUI.exe estão incluídas como um componente da configuração do Visual Studio 2010Visual Studio 2010.Two versions of Mage.exe and MageUI.exe are included as a component of the Visual Studio 2010Visual Studio 2010 setup. Para consultar informações da versão, execute MageUI.exe, selecione Ajuda e Sobre.To see version information, run MageUI.exe, select Help, and select About. Esta documentação descreve a versão 4.0.x.x de Mage.exe e de MageUI.exe.This documentation describes version 4.0.x.x of Mage.exe and MageUI.exe.

No prompt de comando, digite o seguinte:At the command prompt, type the following:

SintaxeSyntax

Mage [commands] [commandOptions]  

ParâmetrosParameters

A tabela a seguir mostra os comandos compatíveis com Mage.exe.The following table shows the commands supported by Mage.exe. Para obter mais informações sobre as opções com suporte por esses comandos, consulte Opções de Comando Novas e Atualizadas e Opções do Comando de Entrada.For more information about the options supported by these commands, see New and Update Command Options and Sign Command Options.

ComandoCommand DescriçãoDescription
-cc, ClearApplicationCache-cc, ClearApplicationCache Limpa o cache do aplicativo baixado somente de todos os aplicativos online.Clears the downloaded application cache of all online-only applications.
-n, -New fileType [newOptions]-n, -New fileType [newOptions] Cria um novo arquivo do tipo indicado.Creates a new file of the given type. Os tipos válidos são:Valid types are:

- Deployment: cria um novo manifesto de implantação.- Deployment: Creates a new deployment manifest.
- Application: cria um novo manifesto do aplicativo.- Application: Creates a new application manifest.

Se você não especificar parâmetros adicionais com esse comando, ele criará um arquivo do tipo apropriado, com as marcas padrão adequadas e os valores de atributo.If you do not specify any additional parameters with this command, it will create a file of the appropriate type, with appropriate default tags and attribute values.

Use a opção -ToFile (consulte na tabela a seguir) para especificar o nome e o caminho do arquivo novo.Use the -ToFile option (see in the following table) to specify the file name and path of the new file.

Use a opção -FromDirectory (consulte na tabela a seguir) para criar um manifesto do aplicativo com todos os assemblies de um aplicativo adicionado à seção <dependency> do manifesto.Use the -FromDirectory option (see in the following table) to create an application manifest with all of the assemblies for an application added to the <dependency> section of the manifest.
-u, -Update [filePath] [updateOptions]-u, -Update [filePath] [updateOptions] Faz uma ou mais alterações em um arquivo de manifesto.Makes one or more changes to a manifest file. Você não precisa especificar o tipo de arquivo que está editando.You do not have to specify the type of file that you are editing. Mage.exe examinará o arquivo usando um conjunto de heurística e determinará se ele é um manifesto de implantação ou um manifesto de aplicativo.Mage.exe will examine the file by using a set of heuristics and determine whether it is a deployment manifest or an application manifest.

Se você já tiver assinado um arquivo com um certificado, -Update removerá o bloco de assinatura chave.If you have already signed a file with a certificate, -Update will remove the key signature block. Isso é porque a assinatura-chave contém um hash do arquivo e a modificação do arquivo invalida o hash.This is because the key signature contains a hash of the file, and modifying the file renders the hash invalid.

Use a opção -ToFile (consulte na tabela a seguir) para especificar um novo nome e caminho de arquivo, em vez de substituir o arquivo existente.Use the -ToFile option (see in the following table) to specify a new file name and path instead of overwriting the existing file.
-s, -Sign [signOptions]-s, -Sign [signOptions] Usa um par de chaves ou um certificado X509 para assinar um arquivo.Uses a key pair or X509 certificate to sign a file. As assinaturas são inseridas como elementos XML nos arquivos.Signatures are inserted as XML elements inside of the files.

Você deve estar conectado à Internet ao assinar um manifesto que especifica um valor -TimestampUri.You must be connected to the Internet when signing a manifest that specifies a -TimestampUri value.
-h, -?, -Help [verbose]-h, -?, -Help [verbose] Descreve todos os comandos disponíveis e suas opções.Describes all of the available commands and their options. Especifique verbose para obter ajuda detalhada.Specify verbose to get detailed help.

Opções de Comando Novas e AtualizadasNew and Update Command Options

A tabela a seguir mostra as opções compatíveis com os comandos -New e -Update.The following table shows the options supported by the -New and -Update commands.

OpçõesOptions Valor padrãoDefault Value Aplica-se aApplies To DescriçãoDescription
-a, -Algorithm-a, -Algorithm sha1RSAsha1RSA Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
Especifica o algoritmo com o qual gerar resumos de dependência.Specifies the algorithm to generate dependency digests with. O valor deve ser "sha256RSA" ou "sha1RSA.Value must be "sha256RSA" or "sha1RSA.

Use com a opção "-Update".Use with the "-Update" option. Essa opção é ignorada durante o uso da opção "-Sign"This option is ignored when using the "-Sign" option
-appc, -AppCodeBase manifestReference-appc, -AppCodeBase manifestReference Manifestos de implantação.Deployment manifests. Insere uma referência de URL ou de caminho do arquivo no arquivo de manifesto do aplicativo.Inserts a URL or file path reference to the application manifest file. Esse valor deve ser o caminho completo do manifesto de aplicativo.This value must be the full path to the application manifest.
-appm, -AppManifest manifestPath-appm, -AppManifest manifestPath Manifestos de implantação.Deployment manifests. Insere uma referência para o manifesto de aplicativo de uma implantação no manifesto de implantação.Inserts a reference to a deployment's application manifest into its deployment manifest.

O arquivo indicado por manifestPath deve existir, ou Mage.exe emitirá um erro.The file indicated by manifestPath must exist, or Mage.exe will issue an error. Se o arquivo referenciado por manifestPath não for um manifesto de aplicativo, Mage.exe emitirá um erro.If the file referenced by manifestPath is not an application manifest, Mage.exe will issue an error.
-cf, -CertFile filePath-cf, -CertFile filePath Todos os tipos de arquivo.All file types. Especifica o local de um certificado digital X509 para assinar um manifesto.Specifies the location of an X509 digital certificate for signing a manifest. Essa opção poderá ser usada com a opção -Password, se o certificado exigir uma senha.This option can be used in conjunction with the -Password option, if the certificate requires a password.
-ch, -CertHash hashSignature-ch, -CertHash hashSignature Todos os tipos de arquivo.All file types. O hash de um certificado digital armazenado no repositório de certificados pessoais do computador cliente.The hash of a digital certificate stored in the personal certificate store of the client computer. Isso corresponde à cadeia de caracteres Impressão Digital de um certificado digital exibido no Windows Certificates Console.This corresponds to the Thumbprint string of a digital certificate viewed in the Windows Certificates Console.

hashSignature pode ter maiúsculas ou minúsculas e ser fornecido como uma única cadeia de caracteres ou com cada octeto da Impressão Digital separado por espaços e toda a Impressão Digital entre aspas.hashSignature can be either uppercase or lowercase, and can be supplied either as a single string, or with each octet of the Thumbprint separated by spaces and the entire Thumbprint enclosed in quotation marks.
-fd, -FromDirectory directoryPath-fd, -FromDirectory directoryPath Manifestos de aplicativo.Application manifests. Popula o manifesto do aplicativo com descrições de todos os assemblies e arquivos encontrados em directoryPath, inclusive todos os subdiretórios, em que directoryPath é o diretório que contém o aplicativo que você deseja implantar.Populates the application manifest with descriptions of all assemblies and files found in directoryPath, including all subdirectories, where directoryPath is the directory that contains the application that you want to deploy. Para cada arquivo no diretório, Mage.exe decide se o arquivo é um assembly ou um arquivo estático.For each file in the directory, Mage.exe decides whether the file is an assembly or a static file. Se for um assembly, ele adicionará uma marca <dependency> e um atributo installFrom ao aplicativo com o nome do assembly, a base de código e a versão.If it is an assembly, it adds a <dependency> tag and installFrom attribute to the application with the assembly's name, code base, and version. Se for um arquivo estático, ele adicionará uma marca <file>.If it is a static file, it adds a <file> tag. Mage.exe também usará um conjunto simples de heurística para detectar o executável principal do aplicativo e o marcará como o ponto de entrada do aplicativo ClickOnce no manifesto.Mage.exe will also use a simple set of heuristics to detect the main executable for the application, and will mark it as the ClickOnce application's entry point in the manifest.

Mage.exe jamais marcará automaticamente um arquivo como um arquivo de "dados".Mage.exe will never automatically mark a file as a "data" file. Você deve fazer isso manualmente.You must do this manually. Para obter mais informações, consulte Como incluir um arquivo de dados em um aplicativo ClickOnce.For more information, see How to: Include a Data File in a ClickOnce Application.

Mage.exe também gera um hash para cada arquivo com base em seu tamanho.Mage.exe also generates a hash for each file based on its size. ClickOnce usa esses hashes para garantir que ninguém adultere os arquivos de implantação desde a criação do manifesto.ClickOnce uses these hashes to ensure that no one has tampered with the deployment's files since the manifest was created. Se algum dos arquivos na implantação mudar, você poderá executar o Mage.exe com o comando -Update e com a opção -FromDirectory e ele atualizará as versões do assembly e hashes de todos os arquivos referenciados.If any of the files in your deployment change, you can run Mage.exe with the -Update command and the -FromDirectory option, and it will update the hashes and assembly versions of all referenced files.

-FromDirectory incluirá todos os arquivos em todos os subdiretórios encontrados em directoryPath.-FromDirectory will include all files in all subdirectories found within directoryPath.

Se você usar -FromDirectory com o comando -Update, o Mage.exe removerá todos os arquivos no manifesto do aplicativo que não existem mais no diretório.If you use -FromDirectory with the -Update command, Mage.exe will remove any files in the application manifest that no longer exist in the directory.
-if, -IconFile filePath-if, -IconFile filePath Manifestos de aplicativo.Application manifests. Especifica o caminho completo para um arquivo de ícone .ICO.Specifies the full path to an .ICO icon file. Esse ícone é exibido ao lado do nome do aplicativo no menu Iniciar e na entrada Adicionar ou Remover Programas.This icon appears beside your application name in the start menu, and in its Add-or-Remove Programs entry. Se nenhum ícone for fornecido, será usado um ícone padrão.If no icon is provided, a default icon is used.
-ip, -IncludeProviderURL url-ip, -IncludeProviderURL url truetrue Manifestos de implantação.Deployment manifests. Indica se o manifesto de implantação inclui o valor local de atualização definido por -ProviderURL.Indicates whether the deployment manifest includes the update location value set by -ProviderURL.
-i, -Install willInstall-i, -Install willInstall truetrue Manifestos de implantação.Deployment manifests. Indica se o aplicativo ClickOnce deve ou não ser instalado no computador local, ou se o deve ser executado na Web.Indicates whether or not the ClickOnce application should install onto the local computer, or whether it should run from the Web. A instalação de um aplicativo dá a esse aplicativo uma presença no menu Iniciar do Windows.Installing an application gives that application a presence in the Windows Start menu. Os valores válidos são "true" ou "t" e "false" ou "f".Valid values are "true" or "t", and "false" or "f".

Se você especificar a opção -MinVersion e um usuário tiver uma versão inferior a -MinVersion instalada, ela forçará a instalação do aplicativo, independentemente do valor passado para -Install.If you specify the -MinVersion option, and a user has a version less than -MinVersion installed, it will force the application to install, regardless of the value that you pass to -Install.

Essa opção não pode ser usada com a opção -BrowserHosted.This option cannot be used with the -BrowserHosted option. A tentativa de especificar ambos para o mesmo manifesto resultará em um erro.Attempting to specify both for the same manifest will result in an error.
-mv, -MinVersion [version]-mv, -MinVersion [version] A versão listada no manifesto de implantação do ClickOnce conforme especificado pelo sinalizador -Version.The version listed in the ClickOnce deployment manifest as specified by the -Version flag. Manifestos de implantação.Deployment manifests. A versão mínima desse aplicativo que um usuário pode executar.The minimum version of this application a user can run. Esse sinalizador torna a versão nomeada do aplicativo uma atualização obrigatória.This flag makes the named version of your application a required update. Se liberar uma versão do produto com uma atualização para uma alteração importante ou uma falha de segurança crítica, você poderá usar esse sinalizador para especificar se essa atualização deve ser instalada e se o usuário não pode continuar executando versões anteriores.If you release a version of your product with an update to a breaking change or a critical security flaw, you can use this flag to specify that this update must be installed, and that the user cannot continue to run earlier versions.

version tem a mesma semântica do argumento do sinalizador -Version.version has the same semantics as the argument to the -Version flag.
-n, -Name nameString-n, -Name nameString ImplantarDeploy Todos os tipos de arquivo.All file types. O nome usado para identificar o aplicativo.The name that is used to identify the application. O ClickOnce usará esse nome para identificar o aplicativo no menu Iniciar (se o aplicativo estiver configurado para se instalar) e nas caixas de diálogo Elevação de Permissão.ClickOnce will use this name to identify the application in the Start menu (if the application is configured to install itself) and in Permission Elevation dialog boxes. Observação: se você estiver atualizando um manifesto existente e não especificar um nome do editor com essa opção, o Mage.exe atualizará o manifesto com o nome da organização definido no computador.Note: If you are updating an existing manifest and you do not specify a publisher name with this option, Mage.exe updates the manifest with the organization name defined on the computer. Para usar um nome diferente, não se esqueça de usar essa opção e especificar o nome do editor desejado.To use a different name, make sure to use this option and specify the desired publisher name.
-pwd, -Password passwd-pwd, -Password passwd Todos os tipos de arquivo.All file types. A senha que é usada na assinatura de um manifesto com um certificado digital.The password that is used for signing a manifest with a digital certificate. Deve ser usado com a opção -CertFile.Must be used in conjunction with the -CertFile option.
-p, Processor processorValue-p, Processor processorValue MsilMsil Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
A arquitetura do microprocessador em que essa distribuição será executada.The microprocessor architecture on which this distribution will run. Esse valor será obrigatório se você estiver preparando uma ou mais instalações cujos assemblies foram pré-compilados para um microprocessador específico.This value is required if you are preparing one or more installations whose assemblies have been precompiled for a specific microprocessor. Os valores válidos incluem msil, x86, ia64 e amd64.Valid values include msil, x86, ia64, and amd64. msil é a Microsoft Intermediate Language, o que significa que todos os assemblies independem da plataforma e o CLR (Common Language Runtime) os compilará just-in-time quando o aplicativo for executado pela primeira vez.msil is Microsoft intermediate language, which means all of your assemblies are platform-independent, and the common language runtime (CLR) will just-in-time compile them when your application is first run.
-pu, -ProviderURL url-pu, -ProviderURL url Manifestos de implantação.Deployment manifests. Especifica a URL que o ClickOnce examinará em busca de atualizações de aplicativo.Specifies the URL which ClickOnce will examine for application updates.
-pub, -Publisher publisherName-pub, -Publisher publisherName Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
Adiciona o nome do editor ao elemento de descrição do manifesto de implantação ou de aplicativo.Adds the publisher name to the description element of either the deployment or application manifest. Quando usado em um manifesto do aplicativo, -UseManifestForTrust também deve ser especificado com um valor "true" ou "t", do contrário, esse parâmetro gerará um erro.When used on an application manifest, -UseManifestForTrust must also be specified with a value of "true" or "t"; otherwise, this parameter will raise an error.
-s, -SupportURL url-s, -SupportURL url Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
Especifica o link exibido em Adicionar ou Remover Programas do aplicativo ClickOnce.Specifies the link that appears in Add or Remove Programs for the ClickOnce application.
-ti, -TimestampUri uri-ti, -TimestampUri uri Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
A URL de um serviço de carimbo de data/hora digital.The URL of a digital timestamping service. O carimbo de data/hora dos manifestos evita que você precise assinar novamente os manifestos, caso o certificado digital expire antes de implantar a próxima versão do aplicativo.Timestamping the manifests prevents you from having to re-sign the manifests should your digital certificate expire before you deploy the next version of your application. Para obter mais informações, consulte Membros do programa de certificado raiz do Windows.For more information, see Windows root certificate program members.
-t, -ToFile filePath-t, -ToFile filePath – New:- New:
– Implantação: deploy.application- Deployment: deploy.application
– Aplicativo: application.exe.manifest- Application: application.exe.manifest
– Update:- Update:
– O arquivo de entrada.- The input file.
Todos os tipos de arquivo.All file types. Especifica o caminho de saída do arquivo que foi criado ou modificado.Specifies the output path of the file that has been created or modified.

Se -ToFile não for fornecido quando você usar -New, a saída será gravada no diretório de trabalho atual.If -ToFile is not supplied when you use -New, the output is written to the current working directory. Se -ToFile não for fornecido quando você usar -Update, o Mage.exe gravará o arquivo novamente no arquivo de entrada.If -ToFile is not supplied when you use -Update, Mage.exe will write the file back to the input file.
-tr, -TrustLevel level-tr, -TrustLevel level Com base na zona em que reside a URL do aplicativo.Based on the zone in which the application URL resides. Manifestos de aplicativo.Application manifests. O nível de confiança a ser concedido ao aplicativo em computadores cliente.The level of trust to grant the application on client computers. Entre os valores estão "Internet", "Intranet" e "FullTrust".Values include "Internet", "Intranet", and "FullTrust".
-um, -UseManifestForTrust willUseForTrust-um, -UseManifestForTrust willUseForTrust FalseFalse Manifestos de aplicativo.Application manifests. Especifica se a assinatura digital do manifesto de aplicativo será usada para na tomada de decisões de confiança quando o aplicativo é executado no cliente.Specifies whether the digital signature of the application manifest will be used for making trust decisions when the application runs on the client. A especificação de "true" ou "t" indica que o manifesto do aplicativo será usado em decisões de confiança.Specifying "true" or "t" indicates that the application manifest will be used for trust decisions. A especificação de "false" ou "f" indica que a assinatura do manifesto de implantação será usada.Specifying "false" or "f" indicates that the signature of the deployment manifest will be used.
-v, -Version versionNumber-v, -Version versionNumber 1.0.0.01.0.0.0 Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
A versão da implantação.The version of the deployment. O argumento deve ser uma cadeia de caracteres de versão válida do formato "N.N.N.N", em que "N" é um inteiro de 32 bits sem sinal.The argument must be a valid version string of the format "N.N.N.N", where "N" is an unsigned 32-bit integer.
-wpf, -WPFBrowserApp isWPFApp-wpf, -WPFBrowserApp isWPFApp falsefalse Manifestos de aplicativo.Application manifests.

Manifestos de implantação.Deployment manifests.
Só use esse sinalizador se o aplicativo for um aplicativo do WPF (Windows Presentation Foundation) que será hospedado dentro do Internet Explorer, e não um executável autônomo.Use this flag only if the application is a Windows Presentation Foundation (WPF) application that will be hosted inside of Internet Explorer, and is not a stand-alone executable. Os valores válidos são "true" ou "t" e "false" ou "f".Valid values are "true" or "t", and "false" or "f".

Para manifestos de aplicativo, insere o atributo hostInBrowser no elemento entryPoint do manifesto de aplicativo.For application manifests, inserts the hostInBrowser attribute under the entryPoint element of the application manifest.

Para manifestos de implantação, define o atributo install no elemento deployment como falso e salva o manifesto de implantação com uma extensão .xbap.For deployment manifests, sets the install attribute on the deployment element to false, and saves the deployment manifest with a .xbap extension. A especificação desse argumento com o argumento -Install produz um erro, porque um aplicativo hospedado por navegador não pode ser instalado, aplicativo offline.Specifying this argument along with the -Install argument produces an error, because a browser-hosted application cannot be an installed, offline application.

Opções do Comando de EntradaSign Command Options

A tabela a seguir mostra as opções compatíveis com o comando -Sign, que se aplicam a todos os tipos de arquivos.The following table shows the options supported by the -Sign command, which apply to all types of files.

OpçõesOptions DescriçãoDescription
-cf, -CertFile filePath-cf, -CertFile filePath Especifica o local de um certificado digital para assinar um manifesto.Specifies The location of a digital certificate for signing a manifest. Essa opção pode ser usada com a opção -Password.This option can be used in conjunction with the -Password option.
-ch, -CertHash hashSignature-ch, -CertHash hashSignature O hash de um certificado digital armazenado no repositório de certificados pessoais do computador cliente.The hash of a digital certificate stored in the personal certificate store of the client computer. Isso corresponde à propriedade Impressão Digital de um certificado digital exibido no Windows Certificates Console.This corresponds to the Thumbprint property of a digital certificate viewed in the Windows Certificates Console.

hashSignature pode ter maiúsculas ou minúsculas e ser fornecido como uma única cadeia de caracteres ou com cada octeto da Impressão Digital separado por espaços e toda a Impressão Digital entre aspas.hashSignature can be either uppercase or lowercase, and can be supplied either as a single string or with each octet of the Thumbprint separated by spaces and the entire Thumbprint enclosed in quotation marks.
-pwd, -Password passwd-pwd, -Password passwd A senha que é usada na assinatura de um manifesto com um certificado digital.The password that is used for signing a manifest with a digital certificate. Deve ser usado com a opção -CertFile.Must be used in conjunction with the -CertFile option.
-t, -ToFile filePath-t, -ToFile filePath Especifica o caminho de saída do arquivo que foi criado ou modificado.Specifies the output path of the file that has been created or modified.

ComentáriosRemarks

Todos os argumentos para Mage.exe não diferenciam maiúsculas de minúsculas.All arguments to Mage.exe are case-insensitive. Os comandos e as opções podem ser precedidos por um traço (-) ou uma barra (/).Commands and options can be prefixed with a dash (-) or a forward slash (/).

Todos os argumentos usados com o comando -Sign também podem ser usados a qualquer momento com os comandos -New ou -Update.All of the arguments used with the -Sign command can be used at any time with the -New or -Update commands as well. Os comandos a seguir são equivalentes.The following commands are equivalent.

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

Observação

A partir do .NET Framework versão 4.6.2, certificados CNG também têm suporte.Beginning with .NET Framework version 4.6.2, CNG certificates are also supported.

A assinatura é a última tarefa que você deve realizar, porque um documento assinado usa um hash do arquivo para verificar se a assinatura é válida para o documento.Signing is the last task you should perform, because a signed document uses a hash of the file to verify that the signature is valid for the document. Se fizer alguma alteração em um arquivo assinado, você deverá assiná-lo novamente.If you make any changes to a signed file, you must sign it again. Se você assinar um documento que foi assinado anteriormente, Mage.exe substituirá a assinatura anterior pela nova.If you sign a document that was previously signed, Mage.exe will replace the old signature with the new.

Quando você usar a opção -AppManifest para popular um manifesto de implantação, o Mage.exe vai pressupor que o manifesto do aplicativo residirá no mesmo diretório que o manifesto de implantação dentro de um subdiretório chamado depois da versão atual da implantação e configurará o manifesto de implantação adequadamente.When you use the -AppManifest option to populate a deployment manifest, Mage.exe will assume that your application manifest will reside in the same directory as the deployment manifest within a subdirectory named after the current deployment version, and will configure your deployment manifest appropriately. Se o manifesto de aplicativo for residir em outro lugar, use a opção -AppCodeBase para definir o local alternativo.If your application manifest will reside elsewhere, use the -AppCodeBase option to set the alternate location.

O manifesto de implantação e de aplicativo deverá ser assinado antes de você implantar o aplicativo.Your deployment and application manifest must be signed before you deploy your application. Para obter orientação sobre como assinar manifestos, consulte Visão geral sobre implantação de aplicativos confiáveis.For guidance about signing manifests, see Trusted Application Deployment Overview.

A opção -TrustLevel para manifestos do aplicativo descreve o conjunto de permissões que um aplicativo precisa para ser executado no computador cliente.The -TrustLevel option for application manifests describes the permission set an application requires to run on the client computer. Por padrão, os aplicativos recebem um nível de confiança com base na zona em que a URL reside.By default, applications are assigned a trust level based on the zone in which their URL resides. Os aplicativos implantados em uma rede corporativa costumam ser colocados na zona Intranet, enquanto os implantados na Internet são colocados na zona Internet.Applications deployed over a corporate network are generally placed in the Intranet zone, while those deployed over the Internet are placed in the Internet zone. Ambas as zonas de segurança impõem restrições sobre o acesso do aplicativo a recursos locais, com a zona Intranet um pouco mais permissiva do que a zona Internet.Both security zones place restrictions on the application's access to local resources, with the Intranet zone slightly more permissive than the Internet zone. A zona FullTrust dá aos aplicativos acesso completo para recursos locais de um computador.The FullTrust zone gives applications complete access to a computer's local resources. Se você usar a opção -TrustLevel para colocar um aplicativo nessa zona, o componente Gerenciador de Confiança do CLR solicitará ao usuário decidir se deseja conceder ou não esse nível de confiança mais alto.If you use the -TrustLevel option to place an application in this zone, the Trust Manager component of the CLR will prompt the user to decide whether he or she wants to grant this higher level of trust. Se estiver implantando o aplicativo em uma rede corporativa, você poderá usar a Implantação do Aplicativo de Confiança para aumentar o nível de confiança do aplicativo sem perguntar ao usuário.If you are deploying your application over a corporate network, you can use Trusted Application Deployment to raise the trust level of the application without prompting the user.

Os manifestos de aplicativo também dão suporte a seções de confiança personalizadas.Application manifests also support custom trust sections. Isso ajuda o aplicativo a obedecer o princípio de segurança de solicitar permissão mínima, porque é possível configurar o manifesto para exigir apenas essas permissões específicas que o aplicativo exige para execução.This helps your application obey the security principle of requesting least permission, as you can configure the manifest to demand only those specific permissions that the application requires in order to execute. Mage.exe não dá suporte direto à adição de uma seção de confiança personalizada.Mage.exe does not directly support adding a custom trust section. É possível adicionar uma usando-se um editor de texto, um analisador XML ou a ferramenta gráfica MageUI.exe.You can add one using a text editor, an XML parser, or the graphical tool MageUI.exe. Para obter mais informações sobre como usar MageUI.exe para adicionar seções de confiança personalizadas, consulte MageUI.exe (Manifest Generation and Editing Tool, Cliente Gráfico).For more information about how to use MageUI.exe to add custom trust sections, see MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).

Os novos manifestos criados com a versão 4 de Mage.exe, incluído no Visual Studio 2010Visual Studio 2010, têm como alvo .NET Framework 4 Client Profile.NET Framework 4 Client Profile.New manifests that are created with version 4 of Mage.exe, which is included with Visual Studio 2010Visual Studio 2010, target the .NET Framework 4 Client Profile.NET Framework 4 Client Profile. Para ter versões anteriores do .NET Framework como destino, você deve usar uma versão anterior de Mage.exe.To target earlier versions of the .NET Framework, you must use an earlier version of Mage.exe. Adicionando ou removendo assemblies de um manifesto existente, ou assinando novamente um manifesto existente, Mage.exe não atualiza o manifesto com o .NET Framework 4 Client Profile.NET Framework 4 Client Profile como destino.When adding or removing assemblies from an existing manifest, or re-signing an existing manifest, Mage.exe does not update the manifest to target the .NET Framework 4 Client Profile.NET Framework 4 Client Profile. As tabelas a seguir mostram esses recursos e limitações.The following tables show these features and restrictions.

Versão do manifestoManifest version OperaçãoOperation Mage v2.0Mage v2.0 Mage v4.0Mage v4.0
Manifesto dos aplicativos com a versão 2.0 ou 3.x do .NET Framework como destinoManifest for applications targeting version 2.0 or 3.x of the .NET Framework AbrirOpen OKOK OKOK
FecharClose OKOK OKOK
SalvarSave OKOK OKOK
Assinar NovamenteRe-sign OKOK OKOK
NovoNew OKOK Sem suporteNot supported
Atualizar (veja abaixo)Update (see below) OKOK OKOK
Manifesto dos aplicativos com a versão 4 do .NET Framework como destinoManifest for applications targeting version 4 of the .NET Framework AbrirOpen OKOK OKOK
FecharClose OKOK OKOK
SalvarSave OKOK OKOK
Assinar NovamenteRe-sign OKOK OKOK
NovoNew Sem suporteNot supported OKOK
Atualizar (veja abaixo)Update (see below) Sem suporteNot supported OKOK
Versão do manifestoManifest version Detalhes da Operação de AtualizaçãoUpdate Operation Details Mage v2.0Mage v2.0 Mage v4.0Mage v4.0
Manifesto dos aplicativos com a versão 2.0 ou 3.x do .NET Framework como destinoManifest for applications targeting version 2.0 or 3.x of the .NET Framework Modificar um assemblyModify an assembly OKOK OKOK
Adicionar um assemblyAdd an assembly OKOK OKOK
Remover um assemblyRemove an assembly OKOK OKOK
Manifesto dos aplicativos com a versão 4 do .NET Framework como destinoManifest for applications targeting version 4 of the .NET Framework Modificar um assemblyModify an assembly Sem suporteNot supported OKOK
Adicionar um assemblyAdd an assembly Sem suporteNot supported OKOK
Remover um assemblyRemove an assembly Sem suporteNot supported OKOK

Mage.exe cria novos manifestos com o .NET Framework 4 Client Profile.NET Framework 4 Client Profile como destino.Mage.exe creates new manifests that target the .NET Framework 4 Client Profile.NET Framework 4 Client Profile. Os aplicativos ClickOnces com .NET Framework 4 Client Profile.NET Framework 4 Client Profile como destino podem ser executados no .NET Framework 4 Client Profile.NET Framework 4 Client Profile e na versão completa do .NET Framework 4.NET Framework 4.ClickOnce applications that target the .NET Framework 4 Client Profile.NET Framework 4 Client Profile can run on both the .NET Framework 4 Client Profile.NET Framework 4 Client Profile and the full version of the .NET Framework 4.NET Framework 4. Se o destino do aplicativo for a versão completa do .NET Framework 4.NET Framework 4 e não puder ser executado no .NET Framework 4 Client Profile.NET Framework 4 Client Profile, remova o elemento <framework> do cliente usando um editor de texto e assine novamente o manifesto.If your application targets the full version of the .NET Framework 4.NET Framework 4 and cannot run on the .NET Framework 4 Client Profile.NET Framework 4 Client Profile, remove the client <framework> element by using a text editor and re-sign the manifest. A seguir, um elemento <framework> de amostra com o .NET Framework 4 Client Profile.NET Framework 4 Client Profile como destino.The following is a sample <framework> element that targets the .NET Framework 4 Client Profile.NET Framework 4 Client Profile.

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

ExemplosExamples

O exemplo a seguir abre a interface do usuário para Mage (MageUI.exe).The following example opens the user interface for Mage (MageUI.exe).

mage  

Os exemplos a seguir criam um manifesto de implantação padrão e o manifesto do aplicativo.The following examples create a default deployment manifest and application manifest. Esses arquivos são todos criados no diretório de trabalho atual e chamados deploy.application e application.exe.manifest, respectivamente.These files are all created in the current working directory and are named deploy.application and application.exe.manifest, respectively.

mage -New Deployment  
mage -New Application  

O exemplo a seguir cria um manifesto de aplicativo populado com todos os assemblies e arquivos de recurso do diretório atual.The following example creates an application manifest populated with all of the assemblies and resource files from thecurrent directory.

mage -New Application -FromDirectory . -Version 1.0.0.0  

O exemplo a seguir continua o exemplo anterior especificando o nome da implantação e o microprocessador de destino.The following example continues the previous example by specifying the deployment name and target microprocessor. Ele também especifica uma URL na qual o ClickOnce deve verificar se há atualizações.It also specifies a URL against which ClickOnce should check for updates.

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 para implantar um aplicativo do WPF que será hospedado no Internet Explorer.The following example demonstrates how to create a pair of manifests for deploying a WPF application that will be hosted in 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 de um manifesto de aplicativo e define a base de código do local do manifesto de aplicativo.The following example updates a deployment manifest with information from an application manifest, and sets the code base for the location of the application manifest.

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.The following example edits the deployment manifest to force an update of the user's installed version.

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.The following example tells the deployment manifest to retrieve the application manifest from another directory.

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.The following example signs an existing deployment manifest using a digital certificate in the current working directory.

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

Consulte tambémSee Also

Segurança e implantação do ClickOnceClickOnce Security and Deployment
Passo a passo: implantando um aplicativo ClickOnce manualmenteWalkthrough: Manually Deploying a ClickOnce Application
Visão geral da implantação de aplicativos confiáveisTrusted Application Deployment Overview
MageUI.exe (Manifest Generation and Editing Tool, cliente gráfico)MageUI.exe (Manifest Generation and Editing Tool, Graphical Client)
Prompts de ComandoCommand Prompts