Mage.exe (Herramienta de generación y edición de manifiestos)Mage.exe (Manifest Generation and Editing Tool)

La herramienta de generación y edición de manifiestos (Mage.exe) es una herramienta de línea de comandos que permite crear y editar manifiestos de aplicación y de implementación.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 herramienta de línea de comandos, Mage.exe se puede ejecutar desde scripts por lotes y desde otras aplicaciones basadas en Windows, incluidas las aplicaciones de 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.

También puede usar MageUI.exe, una aplicación gráfica, en lugar de Mage.exe.You can also use MageUI.exe, a graphical application, instead of Mage.exe. Para obtener más información, consulta MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).For more information, see MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).

Esta herramienta se instala automáticamente con Visual Studio.This tool is automatically installed with Visual Studio. Para ejecutar la herramienta, use el Símbolo del sistema para desarrolladores de Visual Studio.To run the tool, use Developer Command Prompt for Visual Studio. Para más información, consulte Símbolos del sistema.For more information, see Command Prompts.

En Visual Studio se incluyen dos versiones de Mage.exe y MageUI.exe.Two versions of Mage.exe and MageUI.exe are included with Visual Studio. Para ver información sobre la versión, ejecute MageUI.exe, seleccione Ayuda y, después, seleccione Acerca de.To see version information, run MageUI.exe, select Help, and select About. En esta documentación se describe la versión 4.0.x.x de Mage.exe y MageUI.exe.This documentation describes version 4.0.x.x of Mage.exe and MageUI.exe.

SintaxisSyntax

Mage [commands] [commandOptions]

ParámetrosParameters

En la tabla siguiente se muestran los comandos que admite Mage.exe.The following table shows the commands supported by Mage.exe. Para más información sobre las opciones que admiten estos comandos, vea Opciones de los comandos New y Update y Opciones del comando Sign.For more information about the options supported by these commands, see New and Update command options and Sign command options.

ComandoCommand DescripciónDescription
-cc, ClearApplicationCache-cc, ClearApplicationCache Borra la memoria caché de aplicaciones descargadas de todas las aplicaciones que solo están disponibles en línea.Clears the downloaded application cache of all online-only applications.
-n, -New fileType [newOptions]-n, -New fileType [newOptions] Crea un nuevo archivo del tipo especificado.Creates a new file of the given type. Los tipos válidos son:Valid types are:

- Deployment: Crea un nuevo manifiesto de implementación.- Deployment: Creates a new deployment manifest.
- Application: Crea un nuevo manifiesto de aplicación.- Application: Creates a new application manifest.

Si no especifica parámetros adicionales con este comando, se creará un archivo del tipo adecuado con etiquetas y valores de atributo predeterminados adecuados.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 la opción -ToFile (consulte la tabla siguiente) para especificar el nombre de archivo y la ruta de acceso del nuevo archivo.Use the -ToFile option (see in the following table) to specify the file name and path of the new file.

Use la opción -FromDirectory (consulte la tabla siguiente) para crear un manifiesto de aplicación con todos los ensamblados de una aplicación agregados a la sección <dependency> del manifiesto.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] Realiza uno o varios cambios en un archivo de manifiesto.Makes one or more changes to a manifest file. No tiene que especificar el tipo de archivo que va a editar.You do not have to specify the type of file that you are editing. Mage.exe examinará el archivo mediante un conjunto de técnicas heurísticas para determinar si se trata de un manifiesto de implementación o de aplicación.Mage.exe will examine the file by using a set of heuristics and determine whether it is a deployment manifest or an application manifest.

Si ya ha firmado un archivo con un certificado, -Update quitará el bloque de firma clave.If you have already signed a file with a certificate, -Update will remove the key signature block. Esto se debe a que la firma clave contiene un hash del archivo, y al modificar el archivo se invalida el hash.This is because the key signature contains a hash of the file, and modifying the file renders the hash invalid.

Use la opción -ToFile (consulte la tabla siguiente) para especificar un nuevo nombre de archivo y una nueva ruta de acceso en lugar de sobrescribir el archivo 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 un par de claves o un certificado X509 para firmar un archivo.Uses a key pair or X509 certificate to sign a file. Las firmas se insertan como elementos XML dentro de los archivos.Signatures are inserted as XML elements inside of the files.

Debe estar conectado a Internet al firmar un manifiesto que especifica un valor -TimestampUri .You must be connected to the Internet when signing a manifest that specifies a -TimestampUri value.
-ver, -Verify [manifest-filename]-ver, -Verify [manifest-filename] Comprueba que el manifiesto esté firmado correctamente.Verifies that the manifest is signed correctly. No se puede combinar con otros comandos.Cannot be combined with other commands.

Disponible en .NET Framework 4.7 y versiones posteriores.Available in .NET Framework 4.7 and later versions.
-h, -?, -Help [verbose]-h, -?, -Help [verbose] Describe todos los comandos disponibles y sus opciones.Describes all of the available commands and their options. Especifique verbose para obtener ayuda detallada.Specify verbose to get detailed help.

Opciones de los comandos New y UpdateNew and Update command options

En la tabla siguiente se muestran las opciones que admiten los comandos -New y -Update:The following table shows the options supported by the -New and -Update commands:

OpcionesOptions Valor predeterminadoDefault Value Se aplica aApplies To DescripciónDescription
-a, -Algorithm-a, -Algorithm sha1RSAsha1RSA Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
Especifica el algoritmo con el que se generarán los resúmenes de dependencia.Specifies the algorithm to generate dependency digests with. El valor debe ser "sha256RSA" o "sha1RSA.Value must be "sha256RSA" or "sha1RSA.

Úselo con la opción "-Update".Use with the "-Update" option. Esta opción se omite cuando se usa la opción "-Sign".This option is ignored when using the "-Sign" option
-appc, -AppCodeBase manifestReference-appc, -AppCodeBase manifestReference Manifiestos de implementación.Deployment manifests. Inserta una dirección URL o una referencia a la ruta de acceso del archivo en el archivo de manifiesto de aplicación.Inserts a URL or file path reference to the application manifest file. Este valor debe ser la ruta de acceso completa al manifiesto de aplicación.This value must be the full path to the application manifest.
-appm, -AppManifest manifestPath-appm, -AppManifest manifestPath Manifiestos de implementación.Deployment manifests. Inserta una referencia al manifiesto de aplicación de una implementación en su manifiesto de implementación.Inserts a reference to a deployment's application manifest into its deployment manifest.

El archivo indicado en manifestPath debe existir; de lo contrario, Mage.exe emitirá un error.The file indicated by manifestPath must exist, or Mage.exe will issue an error. Si el archivo al que se hace referencia mediante manifestPath no es un manifiesto de aplicación, Mage.exe emitirá un error.If the file referenced by manifestPath is not an application manifest, Mage.exe will issue an error.
-cf, -CertFile filePath-cf, -CertFile filePath Todos los tipos de archivo.All file types. Especifica la ubicación de un certificado digital X509 para firmar un manifiesto o archivo de licencia.Specifies the location of an X509 digital certificate for signing a manifest or license file. Esta opción se puede usar junto con la opción -Password si el certificado requiere una contraseña para archivos de intercambio de información personal (PFX).This option can be used in conjunction with the -Password option if the certificate requires a password for Personal Information Exchange (PFX) files. A partir de .NET Framework 4.7, si el archivo no contiene una clave privada, se necesita una combinación de las opciones -CryptoProvider y -KeyContainer opciones.Starting with .NET Framework 4.7, if the file does not contain a private key, a combination of the -CryptoProvider and -KeyContainer options is required.

A partir de .NET Framework 4.6.2, Mage.exe firma manifiestos con CNG así como certificados CAPI.Starting with .NET Framework 4.6.2, Mage.exe signs manifests with CNG as well as CAPI certificates.
-ch, -CertHash hashSignature-ch, -CertHash hashSignature Todos los tipos de archivo.All file types. El hash de un certificado digital guardado en el almacén de certificados personal del equipo cliente.The hash of a digital certificate stored in the personal certificate store of the client computer. Corresponde a la cadena de huella digital de un certificado digital que aparece en la consola de certificados de Windows.This corresponds to the Thumbprint string of a digital certificate viewed in the Windows Certificates Console.

hashSignature puede ir en mayúsculas o minúsculas y puede especificarse como cadena única, o bien, separando cada octeto de la huella digital mediante espacios y poniendo toda la huella digital entre comillas.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.
-csp, -CryptoProvider provider-name-csp, -CryptoProvider provider-name Todos los tipos de archivo.All file types. Especifica el proveedor de servicios criptográficos (CSP) que contiene el contenedor de claves privadas.Specifies the name of a cryptographic service provider (CSP) that contains the private key container. Esta opción requiere la opción -KeyContainer.This option requires the -KeyContainer option.

Esta opción está disponible a partir de .NET Framework 4.7.This option is available starting with .NET Framework 4.7.
-fd, -FromDirectory directoryPath-fd, -FromDirectory directoryPath Manifiestos de aplicación.Application manifests. Rellena el manifiesto de aplicación con las descripciones de todos los ensamblados y archivos existentes en directoryPath, incluidos todos los subdirectorios, donde directoryPath es el directorio que contiene la aplicación que desea implementar.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 archivo del directorio, Mage.exe decide si se trata de un ensamblado o un archivo estático.For each file in the directory, Mage.exe decides whether the file is an assembly or a static file. Si es un ensamblado, agrega una etiqueta <dependency> y un atributo installFrom a la aplicación con el nombre del ensamblado, la base de código y la versión.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. Si es un archivo estático, agrega una etiqueta <file> .If it is a static file, it adds a <file> tag. Mage.exe también usa un conjunto simple de técnicas heurísticas para detectar el archivo ejecutable principal de la aplicación, y lo marca como punto de entrada de la aplicación ClickOnce en el manifiesto.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 nunca marca automáticamente un archivo como archivo de "datos".Mage.exe will never automatically mark a file as a "data" file. Esto debe hacerlo manualmente.You must do this manually. Para obtener más información, vea Cómo: Inclusión de un archivo de datos en una aplicación ClickOnce.For more information, see How to: Include a Data File in a ClickOnce Application.

Mage.exe también genera un hash para cada archivo basándose en su tamaño.Mage.exe also generates a hash for each file based on its size. ClickOnce usa estos hashes para garantizar que nadie haya manipulado los archivos de implementación desde que se creó el manifiesto.ClickOnce uses these hashes to ensure that no one has tampered with the deployment's files since the manifest was created. Si se modifica alguno de los archivos de la implementación, puede ejecutar Mage.exe con el comando -Update y la opción -FromDirectory, para actualizar los hashes y las versiones del ensamblado de todos los archivos a los que se hace referencia.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 los archivos de todos los subdirectorios de directoryPath.-FromDirectory will include all files in all subdirectories found within directoryPath.

Si usa -FromDirectory con el comando -Update, Mage.exe quitará todos los archivos del manifiesto de aplicación que no existan en el directorio.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 Manifiestos de aplicación.Application manifests. Especifica la ruta de acceso completa a un archivo de icono .ICO.Specifies the full path to an .ICO icon file. Este icono aparece junto al nombre de la aplicación en el menú Inicio y en su entrada Agregar o quitar programas.This icon appears beside your application name in the start menu, and in its Add-or-Remove Programs entry. Si no se especifica ningún icono, se usa el icono predeterminado.If no icon is provided, a default icon is used.
-ip, -IncludeProviderURL url-ip, -IncludeProviderURL url truetrue Manifiestos de implementación.Deployment manifests. Indica si el manifiesto de implementación incluye el valor de ubicación de actualizaciones establecido por -ProviderURL.Indicates whether the deployment manifest includes the update location value set by -ProviderURL.
-i, -Install willInstall-i, -Install willInstall truetrue Manifiestos de implementación.Deployment manifests. Indica si la aplicación ClickOnce debe instalarse en el equipo local o si debe ejecutarse desde la Web.Indicates whether or not the ClickOnce application should install onto the local computer, or whether it should run from the Web. Cuando se instala una aplicación, esta aparece en el menú Inicio de Windows.Installing an application gives that application a presence in the Windows Start menu. Los valores válidos son "true" o "t", y "false" o "f".Valid values are "true" or "t", and "false" or "f".

Si especifica la opción -MinVersion y un usuario tiene instalada una versión anterior a -MinVersion , forzará la instalación de la aplicación, independientemente del valor que pase a -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.

Esta opción no se puede combinar con la opción -ProviderURL .This option cannot be used with the -BrowserHosted option. Si intenta especificar ambas para el mismo manifiesto, provocará un error.Attempting to specify both for the same manifest will result in an error.
-kc, -KeyContainer name-kc, -KeyContainer name Todos los tipos de archivo.All file types. Especifica el contenedor de claves que contiene el nombre de la clave privada.Specifies the key container that contains the name of the private key. Esta opción requiere la opción CyproProvider.This option requires the CyproProvider option.

Esta opción está disponible a partir de .NET Framework 4.7.This option is available starting with .NET Framework 4.7.
-mv, -MinVersion [version]-mv, -MinVersion [version] La versión indicada en el manifiesto de implementación de ClickOnce tal y como especifica la marca -Version .The version listed in the ClickOnce deployment manifest as specified by the -Version flag. Manifiestos de implementación.Deployment manifests. La versión mínima de esta aplicación que un usuario puede ejecutar.The minimum version of this application a user can run. Esta marca hace que la versión con nombre de la aplicación sea una actualización necesaria.This flag makes the named version of your application a required update. Si publica una versión del producto con una actualización para un cambio importante o una reparación de un error crítico de seguridad, puede usar esta marca para especificar que se debe instalar esta actualización y que el usuario no puede continuar ejecutando las versiones 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 tiene la misma semántica que el argumento de la marca -Version .version has the same semantics as the argument to the -Version flag.
-n, -Name nameString-n, -Name nameString ImplementarDeploy Todos los tipos de archivo.All file types. El nombre usado para identificar la aplicación.The name that is used to identify the application. ClickOnce usará este nombre para identificar la aplicación en el menú Inicio (si la aplicación se ha configurado para instalarse automáticamente) y en los cuadros de diálogo Elevación de permisos.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. Nota: Si va a actualizar un manifiesto existente y no especifica el nombre del publicador con esta opción, Mage.exe actualiza el manifiesto con el nombre de la organización definido en el equipo.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. Si desea usar otro nombre, utilice esta opción y especifique el nombre del publicador deseado.To use a different name, make sure to use this option and specify the desired publisher name.
-pwd, -Password passwd-pwd, -Password passwd Todos los tipos de archivo.All file types. La contraseña usada para firmar un manifiesto con un certificado digital.The password that is used for signing a manifest with a digital certificate. Se debe usar junto con la opción -CertFile .Must be used in conjunction with the -CertFile option.
-p, Processor processorValue-p, Processor processorValue MsilMsil Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
La arquitectura de microprocesador donde se ejecutará esta distribución.The microprocessor architecture on which this distribution will run. Este valor es obligatorio si va a preparar una o varias instalaciones cuyos ensamblados se han precompilado para un microprocesador concreto.This value is required if you are preparing one or more installations whose assemblies have been precompiled for a specific microprocessor. Los valores válidos son msil, x86, ia64y amd64.Valid values include msil, x86, ia64, and amd64. msil es el Lenguaje intermedio de Microsoft, lo que significa que todos los ensamblados son independientes de la plataforma y Common Language Runtime (CLR) los compilará Just-In-Time cuando la aplicación se ejecute por primera 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 Manifiestos de implementación.Deployment manifests. Especifica la dirección URL que ClickOnce examinará para buscar actualizaciones de la aplicación.Specifies the URL which ClickOnce will examine for application updates.
-pub, -Publisher publisherName-pub, -Publisher publisherName Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
Agrega el nombre del publicador al elemento de descripción del manifiesto de implementación o de aplicación.Adds the publisher name to the description element of either the deployment or application manifest. Cuando se usa en un manifiesto de aplicación, también se debe especificar -UseManifestForTrust con un valor "true" o "t"; de lo contrario, este parámetro producirá un error.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 Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
Especifica el vínculo que aparece en Agregar o quitar programas para la aplicación ClickOnce.Specifies the link that appears in Add or Remove Programs for the ClickOnce application.
-ti, -TimestampUri uri-ti, -TimestampUri uri Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
La dirección URL de un servicio de marca de tiempo digital.The URL of a digital timestamping service. Las marcas de tiempo en los manifiestos evitan tener que volver a firmarlos en caso de que el certificado digital expire antes de implementar la versión siguiente de la aplicación.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 obtener más información, vea Windows root certificate program members(Miembros del programa de certificados raíz de Windows).For more information, see Windows root certificate program members.
-t, -ToFile filePath-t, -ToFile filePath - Nuevo:- New:
- Implementación: deploy.application- Deployment: deploy.application
- Aplicación: application.exe.manifest- Application: application.exe.manifest
- Actualización:- Update:
- El archivo de entrada.- The input file.
Todos los tipos de archivo.All file types. Especifica la ruta de acceso de salida del archivo que se ha creado o modificado.Specifies the output path of the file that has been created or modified.

Si no se proporciona -ToFile al usar -New, la salida se escribirá en el directorio de trabajo actual.If -ToFile is not supplied when you use -New, the output is written to the current working directory. Si no se proporciona -ToFile al usar -Update, Mage.exe volverá a escribir el archivo en el archivo 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 Depende de la zona en la que reside la URL de la aplicación.Based on the zone in which the application URL resides. Manifiestos de aplicación.Application manifests. El nivel de confianza que se concederá a la aplicación en los equipos cliente.The level of trust to grant the application on client computers. Los valores son "Internet", "Intranet" y "FullTrust".Values include "Internet", "Intranet", and "FullTrust".
-um, -UseManifestForTrust willUseForTrust-um, -UseManifestForTrust willUseForTrust FalseFalse Manifiestos de aplicación.Application manifests. Especifica si se usará la firma digital del manifiesto de aplicación para tomar decisiones de confianza cuando la aplicación se ejecute en el cliente.Specifies whether the digital signature of the application manifest will be used for making trust decisions when the application runs on the client. Si se especifica "true" o "t", el manifiesto de aplicación se usará para las decisiones de confianza.Specifying "true" or "t" indicates that the application manifest will be used for trust decisions. Si se especifica "false" o "f", se usará la firma del manifiesto de implementación.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 Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
La versión de la implementación.The version of the deployment. El argumento debe ser una cadena de versión válida con el formato "N.N.N.N", donde "N" es un entero de 32 bits sin signo.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 Manifiestos de aplicación.Application manifests.

Manifiestos de implementación.Deployment manifests.
Use esta marca solo para aplicaciones de Windows Presentation Foundation (WPF) que se hospedarán en Internet Explorer, y no para aplicaciones ejecutables independientes.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. Los valores válidos son "true" o "t", y "false" o "f".Valid values are "true" or "t", and "false" or "f".

Si se trata de un manifiesto de aplicación, inserta el atributo hostInBrowser en el elemento entryPoint de dicho manifiesto.For application manifests, inserts the hostInBrowser attribute under the entryPoint element of the application manifest.

Si se trata de un manifiesto de implementación, establece el atributo install del elemento deployment en false y guarda el manifiesto con una extensión .xbap.For deployment manifests, sets the install attribute on the deployment element to false, and saves the deployment manifest with a .xbap extension. Si se especifica este argumento junto con el argumento -Install se produce un error, ya que una aplicación hospedada en un explorador no puede ser una aplicación instalada sin conexión.Specifying this argument along with the -Install argument produces an error, because a browser-hosted application cannot be an installed, offline application.

Opciones del comando SignSign command options

En la siguiente tabla se muestran las opciones que admite el comando -Sign y que se aplican a todos los tipos de archivos.The following table shows the options supported by the -Sign command, which apply to all types of files.

OpcionesOptions DescripciónDescription
-cf, -CertFile filePath-cf, -CertFile filePath Especifica la ubicación de un certificado digital para firmar un manifiesto.Specifies The location of a digital certificate for signing a manifest. Esta opción se puede usar junto con la opción -Password si el certificado requiere una contraseña para archivos de intercambio de información personal (PFX).This option can be used in conjunction with the -Password option if the certificate requires a password for Personal Information Exchange (PFX) files. A partir de .NET Framework 4.7, si el archivo no contiene una clave privada, se necesita una combinación de las opciones -CryptoProvider y -KeyContainer opciones.Starting with .NET Framework 4.7, if the file does not contain a private key, a combination of the -CryptoProvider and -KeyContainer options is required.

A partir de .NET Framework 4.6.2, Mage.exe firma manifiestos con CNG así como certificados CAPI.Starting with .NET Framework 4.6.2, Mage.exe signs manifests with CNG as well as CAPI certificates.
-ch, -CertHash hashSignature-ch, -CertHash hashSignature El hash de un certificado digital guardado en el almacén de certificados personal del equipo cliente.The hash of a digital certificate stored in the personal certificate store of the client computer. Corresponde a la propiedad de huella digital de un certificado digital que aparece en la consola de certificados de Windows.This corresponds to the Thumbprint property of a digital certificate viewed in the Windows Certificates Console.

hashSignature puede ir en mayúsculas o minúsculas y puede especificarse como cadena única, o bien, separando cada octeto de la huella digital mediante espacios y poniendo toda la huella digital entre comillas.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.
-csp, -CryptoProvider provider-name-csp, -CryptoProvider provider-name Especifica el proveedor de servicios criptográficos (CSP) que contiene el contenedor de claves privadas.Specifies the name of a cryptographic service provider (CSP) that contains the private key container. Esta opción requiere la opción -KeyContainer.This option requires the -KeyContainer option.

Esta opción está disponible a partir de .NET Framework 4.7.This option is available starting with .NET Framework 4.7.
-kc, -KeyContainer name-kc, -KeyContainer name Especifica el contenedor de claves que contiene el nombre de la clave privada.Specifies the key container that contains the name of the private key. Esta opción requiere la opción CyproProvider.This option requires the CyproProvider option.

Esta opción está disponible a partir de .NET Framework 4.7.This option is available starting with .NET Framework 4.7.
-pwd, -Password passwd-pwd, -Password passwd La contraseña usada para firmar un manifiesto con un certificado digital.The password that is used for signing a manifest with a digital certificate. Se debe usar junto con la opción -CertFile .Must be used in conjunction with the -CertFile option.
-t, -ToFile filePath-t, -ToFile filePath Especifica la ruta de acceso de salida del archivo que se ha creado o modificado.Specifies the output path of the file that has been created or modified.

ComentariosRemarks

Ninguno de los argumentos de Mage.exe distingue entre mayúsculas y minúsculas.All arguments to Mage.exe are case-insensitive. Los comandos y las opciones pueden llevar como prefijo un guion (-) o una barra diagonal (/).Commands and options can be prefixed with a dash (-) or a forward slash (/).

Todos los argumentos que se usan con el comando -Sign se pueden usar en cualquier momento con los comandos -New o -Update .All of the arguments used with the -Sign command can be used at any time with the -New or -Update commands as well. Los siguientes comandos son equivalentes.The following commands are equivalent.

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

Nota

A partir de la versión 4.6.2 de .NET Framework, también se admiten los certificados de CNG.Beginning with .NET Framework version 4.6.2, CNG certificates are also supported.

La tarea de firmar es la última que debe realizar, ya que un documento firmado usa un hash del archivo para comprobar que la firma es válida para el 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. Si realiza cambios en un archivo firmado, debe firmarlo de nuevo.If you make any changes to a signed file, you must sign it again. Si firma un documento que ya estaba firmado, Mage.exe reemplazará la firma anterior por la nueva.If you sign a document that was previously signed, Mage.exe will replace the old signature with the new.

Si usa la opción -AppManifest para rellenar un manifiesto de implementación, Mage.exe supone que el manifiesto de aplicación residirá en el mismo directorio que el manifiesto de implementación, en un subdirectorio con el mismo nombre que la versión actual de la implementación, y configura el manifiesto de implementación adecuadamente.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. Si el manifiesto de aplicación reside en otro lugar, use la opción -AppCodeBase para establecer la ubicación alternativa.If your application manifest will reside elsewhere, use the -AppCodeBase option to set the alternate location.

Debe firmar los manifiestos de implementación y de aplicación antes de implementar la aplicación.Your deployment and application manifest must be signed before you deploy your application. Para obtener instrucciones sobre la firma de manifiestos, consulte Trusted Application Deployment Overview.For guidance about signing manifests, see Trusted Application Deployment Overview.

La opción -TrustLevel de los manifiestos de aplicación describe el conjunto de permisos que requiere una aplicación para ejecutarse en el equipo cliente.The -TrustLevel option for application manifests describes the permission set an application requires to run on the client computer. De manera predeterminada, a las aplicaciones se les asigna un nivel de confianza basado en la zona donde residen sus direcciones URL.By default, applications are assigned a trust level based on the zone in which their URL resides. Las aplicaciones implementadas en una red corporativa se colocan generalmente en la zona Intranet, mientras que las que se implementan en Internet se colocan en la 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 zonas de seguridad imponen restricciones en el acceso de la aplicación a los recursos locales, siendo la zona Intranet ligeramente más permisiva que la 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. La zona FullTrust otorga a las aplicaciones acceso completo a los recursos locales de un equipo.The FullTrust zone gives applications complete access to a computer's local resources. Si usa la opción -TrustLevel para colocar una aplicación en esta zona, el componente de administrador de confianza de CLR pedirá al usuario que decida si quiere otorgar este nivel de confianza mayor.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. Si va a implementar la aplicación en una red corporativa, puede usar la implementación de aplicaciones de confianza para aumentar el nivel de confianza de la aplicación sin preguntar al usuario.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.

Los manifiestos de aplicación también admiten las secciones de confianza personalizadas.Application manifests also support custom trust sections. Esto facilita que la aplicación obedezca al principio de seguridad de solicitar un permiso mínimo, ya que puede configurar el manifiesto para que exija solo los permisos específicos necesarios para ejecutar la aplicación.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 no permite agregar directamente una sección de confianza personalizada.Mage.exe does not directly support adding a custom trust section. Puede agregar una mediante un editor de texto, un analizador XML o la herramienta gráfica MageUI.exe.You can add one using a text editor, an XML parser, or the graphical tool MageUI.exe. Para obtener más información sobre cómo usar MageUI.exe para agregar secciones de confianza personalizadas, vea MageUI.exe (Herramienta de generación y edición de manifiestos, 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).

Visual Studio 2017 incluye la versión 4.6.1 de Mage.exe.Visual Studio 2017 includes version 4.6.1 of Mage.exe. Los manifiestos creados con esta versión de Mage.exe tienen como destino .NET Framework 4.Manifests created with this version of Mage.exe target .NET Framework 4. Para elegir como destino versiones anteriores de .NET Framework, use una versión anterior de Mage.exe.To target older versions of the .NET Framework, use an earlier version of Mage.exe.

Cuando se agregan o se quitan ensamblados de un manifiesto existente, o se vuelve a firmar un manifiesto existente, Mage.exe no actualiza el manifiesto para destinarlo a .NET Framework 4.When you add or remove assemblies from an existing manifest, or re-sign an existing manifest, Mage.exe does not update the manifest to target .NET Framework 4.

En las siguientes tablas se muestran estas características y restricciones:The following tables show these features and restrictions:

Versión del manifiestoManifest version OperaciónOperation Mage v2.0Mage v2.0 Mage v4.0Mage v4.0
Manifiesto para aplicaciones que tienen como destino la versión 2.0 o 3.x de .NET FrameworkManifest for applications targeting version 2.0 or 3.x of the .NET Framework AbrirOpen AceptarOK AceptarOK
CerrarClose AceptarOK AceptarOK
GuardarSave AceptarOK AceptarOK
Volver a firmarRe-sign AceptarOK AceptarOK
NuevoNew AceptarOK No compatiblesNot supported
Actualizar (ver abajo)Update (see below) AceptarOK AceptarOK
Manifiesto para aplicaciones que tienen como destino .NET Framework versión 4Manifest for applications targeting version 4 of the .NET Framework AbrirOpen AceptarOK AceptarOK
CerrarClose AceptarOK AceptarOK
GuardarSave AceptarOK AceptarOK
Volver a firmarRe-sign AceptarOK AceptarOK
NuevoNew No compatiblesNot supported AceptarOK
Actualizar (ver abajo)Update (see below) No compatiblesNot supported AceptarOK
Versión del manifiestoManifest version Detalles de la operación de actualizaciónUpdate Operation Details Mage v2.0Mage v2.0 Mage v4.0Mage v4.0
Manifiesto para aplicaciones que tienen como destino la versión 2.0 o 3.x de .NET FrameworkManifest for applications targeting version 2.0 or 3.x of the .NET Framework Modificar un ensambladoModify an assembly AceptarOK AceptarOK
Agregar un ensambladoAdd an assembly AceptarOK AceptarOK
Quitar un ensambladoRemove an assembly AceptarOK AceptarOK
Manifiesto para aplicaciones que tienen como destino .NET Framework versión 4Manifest for applications targeting version 4 of the .NET Framework Modificar un ensambladoModify an assembly No compatiblesNot supported AceptarOK
Agregar un ensambladoAdd an assembly No compatiblesNot supported AceptarOK
Quitar un ensambladoRemove an assembly No compatiblesNot supported AceptarOK

Mage.exe crea nuevos manifiestos que tienen .NET Framework 4 Client Profile.NET Framework 4 Client Profilecomo destino.Mage.exe creates new manifests that target the .NET Framework 4 Client Profile.NET Framework 4 Client Profile. Las aplicaciones ClickOnce que tienen como destino .NET Framework 4 Client Profile.NET Framework 4 Client Profile se pueden ejecutar en .NET Framework 4 Client Profile.NET Framework 4 Client Profile y en la versión completa de .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. Si la aplicación tiene como destino la versión completa de .NET Framework 4 y no se puede ejecutar en .NET Framework 4 Client Profile.NET Framework 4 Client Profile, quite el elemento <framework> de cliente mediante un editor de texto y vuelva a firmar el manifiesto.If your application targets the full version of the .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.

El siguiente es un elemento <framework> de ejemplo cuyo destino es .NET Framework 4 Client Profile.NET Framework 4 Client Profile: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" />

EjemplosExamples

En el siguiente ejemplo se abre la interfaz de usuario para Mage (MageUI.exe).The following example opens the user interface for Mage (MageUI.exe).

mage

En los ejemplos siguientes se crean un manifiesto de implementación y un manifiesto de aplicación predeterminados.The following examples create a default deployment manifest and application manifest. Estos archivos se crean en el directorio de trabajo actual y reciben los nombres deploy.application y 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

En el siguiente ejemplo se crea un manifiesto de aplicación con todos los ensamblados y archivos de recursos del directorio actual.The following example creates an application manifest populated with all of the assemblies and resource files from the current directory.

mage -New Application -FromDirectory . -Version 1.0.0.0

El ejemplo siguiente es la continuación del ejemplo anterior; en él se especifican el nombre de implementación y el microprocesador de destino.The following example continues the previous example by specifying the deployment name and target microprocessor. También se especifica la dirección URL donde ClickOnce debe comprobar si hay actualizaciones.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/

En el ejemplo siguiente se muestra cómo crear un par de manifiestos para implementar una aplicación WPF que se hospedará en 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

En el siguiente ejemplo se crea un manifiesto de aplicación con todos los ensamblados y archivos de recursos del directorio actual y se firma.The following example creates an application manifest populated with all of the assemblies and resource files from the current directory and signs.

mage -New Application -FromDirectory . -Version 1.0.0.0 -KeyContainer keypair.snk -CryptoProvider "Microsoft Enhanced Cryptographic Provider v1.0"

En el siguiente ejemplo se actualiza un manifiesto de implementación con información procedente de un manifiesto de aplicación, y se establece la base de código para la ubicación del manifiesto de aplicación.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

En el siguiente ejemplo se edita el manifiesto de implementación para forzar una actualización de la versión instalada del usuario.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

En el ejemplo siguiente se indica al manifiesto de implementación que recupere el manifiesto de aplicación de otro directorio.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/

En el ejemplo siguiente se firma un manifiesto de implementación existente mediante un certificado digital del directorio de trabajo actual.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>

En el ejemplo siguiente se firma un manifiesto de implementación existente mediante un certificado digital y una clave privada del directorio de trabajo actual.The following example signs an existing deployment manifest using a digital certificate and private key in the current working directory.

mage -Sign deploy.application -CertFile cert.pfx -KeyContainer keyfile.snk -CryptoProvider "Microsoft Enghanced Cryptographic Provider v1.0"

Vea tambiénSee also