Mage.exe (Strumento per la generazione e la modifica di manifesti)Mage.exe (Manifest Generation and Editing Tool)

Lo Strumento per la generazione e la modifica di manifesti (Mage.exe) è uno strumento da riga di comando che supporta la creazione e la modifica dei manifesti di applicazione e di distribuzione.The Manifest Generation and Editing Tool (Mage.exe) is a command-line tool that supports the creation and editing of application and deployment manifests. In quanto strumento da riga di comando, Mage.exe può essere eseguito sia da script batch sia da altre applicazioni basate su Windows, incluse le applicazioni 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.

In alternativa, è possibile utilizzare l'applicazione grafica MageUI.exe anziché Mage.exe.You can also use MageUI.exe, a graphical application, instead of Mage.exe. Per altre informazioni, vedere MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).For more information, see MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).

Viene installato automaticamente con Visual Studio.This tool is automatically installed with Visual Studio. Per eseguire lo strumento, usare il prompt dei comandi per sviluppatori o il prompt dei comandi di Visual Studio in Windows 7.To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7). Per altre informazioni, vedere Prompt dei comandi.For more information, see Command Prompts.

Due versioni di Mage.exe e MageUI.exe sono incluse come componenti del pacchetto d'installazione di 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. Per visualizzare le informazioni sulla versione, eseguire MageUI.exe, scegliere ?, quindi Informazioni su.To see version information, run MageUI.exe, select Help, and select About. In questa documentazione viene descritta la versione 4.0.x.x di Mage.exe e MageUI.exe.This documentation describes version 4.0.x.x of Mage.exe and MageUI.exe.

Al prompt dei comandi digitare quanto segue:At the command prompt, type the following:

SintassiSyntax

Mage [commands] [commandOptions]  

ParametriParameters

Nella tabella riportata di seguito vengono illustrati i comandi supportati da Mage.exe.The following table shows the commands supported by Mage.exe. Per ulteriori informazioni sulle opzioni supportate da questi comandi, vedere Opzioni dei comandi New e Update e Opzioni del comando Sign.For more information about the options supported by these commands, see New and Update Command Options and Sign Command Options.

ComandoCommand DescrizioneDescription
-cc, ClearApplicationCache-cc, ClearApplicationCache Cancella il contenuto della cache di download di tutte le applicazioni solo online.Clears the downloaded application cache of all online-only applications.
-n, -New fileType [newOptions]-n, -New fileType [newOptions] Crea un nuovo file del tipo specificato.Creates a new file of the given type. I tipi validi sono:Valid types are:

- Deployment: crea un nuovo manifesto di distribuzione.- Deployment: Creates a new deployment manifest.
- Application: crea un nuovo manifesto di applicazione.- Application: Creates a new application manifest.

Se non si specificano parametri aggiuntivi con questo comando, verrà creato automaticamente un file del tipo appropriato, con gli adeguati tag e valori di attributo predefiniti.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.

Usare l'opzione -ToFile (vedere la tabella seguente) per specificare il nome e il percorso del nuovo file.Use the -ToFile option (see in the following table) to specify the file name and path of the new file.

Usare l'opzione -FromDirectory (vedere la tabella seguente) per creare il manifesto di un'applicazione con tutti gli assembly dell'applicazione inclusi nella sezione <dependency> del 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] Esegue una o più modifiche in un file manifesto.Makes one or more changes to a manifest file. Non è necessario specificare il tipo di file che si sta modificando.You do not have to specify the type of file that you are editing. Mage.exe esaminerà il file utilizzando un set di regole euristiche per determinare se si tratta di un manifesto di distribuzione o di un manifesto di applicazione.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 un file è già stato firmato con un certificato, -Update rimuoverà il blocco della firma con chiave.If you have already signed a file with a certificate, -Update will remove the key signature block. Questo è necessario perché la firma con chiave contiene un hash del file e la modifica di quest'ultimo rende l'hash non valido.This is because the key signature contains a hash of the file, and modifying the file renders the hash invalid.

Usare l'opzione -ToFile (vedere la tabella seguente) per specificare un nuovo nome e percorso del file anziché sovrascrivere il file esistente.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] Utilizza una coppia di chiavi o il certificato X509 per firmare un file.Uses a key pair or X509 certificate to sign a file. Le firme vengono inserite nei file come elementi XML.Signatures are inserted as XML elements inside of the files.

È necessario essere connessi a Internet quando si firma un manifesto che specifica un valore -TimestampUri .You must be connected to the Internet when signing a manifest that specifies a -TimestampUri value.
-h, -?, -Help [verbose]-h, -?, -Help [verbose] Descrive tutti i comandi disponibili e le rispettive opzioni.Describes all of the available commands and their options. Specificare verbose per ottenere informazioni dettagliate.Specify verbose to get detailed help.

Opzioni dei comandi New e UpdateNew and Update Command Options

Nella tabella seguente sono descritte le opzioni supportate dai comandi -New e -Update .The following table shows the options supported by the -New and -Update commands.

OpzioniOptions Valore predefinitoDefault Value Si applica aApplies To DescrizioneDescription
-a, -Algorithm-a, -Algorithm sha1RSAsha1RSA Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
Specifica l'algoritmo con cui generare i digest di dipendenza.Specifies the algorithm to generate dependency digests with. Il valore deve essere "sha256RSA" o "sha1RSA".Value must be "sha256RSA" or "sha1RSA.

Utilizzare con l'opzione "-Update".Use with the "-Update" option. Questa opzione viene ignorata quando si utilizza l'opzione "-Sign".This option is ignored when using the "-Sign" option
-appc, -AppCodeBase manifestReference-appc, -AppCodeBase manifestReference Manifesti di distribuzione.Deployment manifests. Inserisce un riferimento a un URL o a percorso di file nel file manifesto dell'applicazione.Inserts a URL or file path reference to the application manifest file. Questo valore deve corrispondere al percorso completo del manifesto dell'applicazione.This value must be the full path to the application manifest.
-appm, -AppManifest manifestPath-appm, -AppManifest manifestPath Manifesti di distribuzione.Deployment manifests. Inserisce un riferimento a un manifesto dell'applicazione di distribuzione nel relativo manifesto di distribuzione.Inserts a reference to a deployment's application manifest into its deployment manifest.

Se il file indicato in manifestPath non esiste, verrà generato un errore.The file indicated by manifestPath must exist, or Mage.exe will issue an error. Lo stesso avviene se il file a cui fa riferimento manifestPath non è un manifesto di applicazione.If the file referenced by manifestPath is not an application manifest, Mage.exe will issue an error.
-cf, -CertFile filePath-cf, -CertFile filePath Tutti i tipi di file.All file types. Specifica il percorso di un certificato digitale X509 per la firma di un manifesto.Specifies the location of an X509 digital certificate for signing a manifest. Questa opzione può essere usata insieme a -Password , se per il certificato è necessaria una password.This option can be used in conjunction with the -Password option, if the certificate requires a password.
-ch, -CertHash hashSignature-ch, -CertHash hashSignature Tutti i tipi di file.All file types. Hash di un certificato digitale contenuto nell'archivio dei certificati personali del computer client.The hash of a digital certificate stored in the personal certificate store of the client computer. Corrisponde alla stringa di identificazione digitale di un certificato digitale visualizzata nella console dei certificati di Windows.This corresponds to the Thumbprint string of a digital certificate viewed in the Windows Certificates Console.

Il parametrohashSignature può essere costituito da caratteri maiuscoli o minuscoli e può essere specificato sia come stringa singola sia con gli ottetti dell'identificazione digitale separati da spazi e l'intera identificazione digitale racchiusa tra virgolette.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 Manifesti di applicazione.Application manifests. Inserisce nel manifesto dell'applicazione le descrizioni di tutti gli assembly e i file trovati in directoryPath, incluse tutte le sottodirectory, dove directoryPath corrisponde alla directory contenente l'applicazione che si desidera distribuire.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. Per ogni file incluso nella directory, viene determinato automaticamente se si tratta di un assembly o di un file statico.For each file in the directory, Mage.exe decides whether the file is an assembly or a static file. Nel primo caso, verranno aggiunti un tag <dependency> e un attributo installFrom all'applicazione con il nome, la codebase e la versione dell'assembly.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. Nel secondo caso, verrà aggiunto un tag <file> .If it is a static file, it adds a <file> tag. In base a un semplice set di regole euristiche verrà inoltre rilevato l'eseguibile principale dell'applicazione, che verrà contrassegnato come punto di ingresso dell'applicazione ClickOnce nel 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.

I file non vengono mai contrassegnati automaticamente come file di dati da Mage.exe.Mage.exe will never automatically mark a file as a "data" file. L'operazione deve essere eseguita manualmente.You must do this manually. Per altre informazioni, vedere How to: Include a Data File in a ClickOnce Application.For more information, see How to: Include a Data File in a ClickOnce Application.

Viene inoltre generato un hash per ciascun file in base alla relativa dimensione.Mage.exe also generates a hash for each file based on its size. Gli hash vengono utilizzati da ClickOnce per verificare che i file di distribuzione non siano stati manomessi dopo la creazione del manifesto.ClickOnce uses these hashes to ensure that no one has tampered with the deployment's files since the manifest was created. Se uno dei file della distribuzione viene modificato, è possibile eseguire Mage.exe con il comando -Update e l'opzione -FromDirectory affinché vengano aggiornati gli hash e le versioni degli assembly di tutti i file a cui viene fatto riferimento.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.

L'opzione -FromDirectory includerà tutti i file in tutte le sottodirectory trovate all'interno di directoryPath.-FromDirectory will include all files in all subdirectories found within directoryPath.

Se si usa -FromDirectory con il comando -Update , i file nel manifesto dell'applicazione che non sono più presenti nella directory verranno rimossi.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 Manifesti di applicazione.Application manifests. Specifica il percorso completo di un file icona (.ICO).Specifies the full path to an .ICO icon file. Questa icona viene visualizzata accanto al nome dell'applicazione nel menu Start e nella voce in Installazione applicazioni.This icon appears beside your application name in the start menu, and in its Add-or-Remove Programs entry. Se non viene fornita nessun'icona, viene utilizzata l'icona predefinita.If no icon is provided, a default icon is used.
-ip, -IncludeProviderURL url-ip, -IncludeProviderURL url truetrue Manifesti di distribuzione.Deployment manifests. Indica se il manifesto di distribuzione include il valore del percorso di aggiornamento impostato da -ProviderURL.Indicates whether the deployment manifest includes the update location value set by -ProviderURL.
-i, -Install willInstall-i, -Install willInstall truetrue Manifesti di distribuzione.Deployment manifests. Indica se installare o meno l'applicazione ClickOnce nel computer locale o se eseguirla dal Web.Indicates whether or not the ClickOnce application should install onto the local computer, or whether it should run from the Web. Se l'applicazione viene installata, nel menu Start di Windows verrà creato un collegamento corrispondente.Installing an application gives that application a presence in the Windows Start menu. I valori validi sono "true" (o "t") e "false" (o "f").Valid values are "true" or "t", and "false" or "f".

Se si specifica l'opzione -MinVersion e l'utente ha una versione precedente rispetto a -MinVersion , l'applicazione verrà sempre installata, indipendentemente dal valore passato 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.

Non è possibile usare questa opzione con l'opzione -BrowserHosted .This option cannot be used with the -BrowserHosted option. Il tentativo di specificare entrambe le opzioni per lo stesso manifesto genera un errore.Attempting to specify both for the same manifest will result in an error.
-mv, -MinVersion [version]-mv, -MinVersion [version] Versione indicata nel manifesto di distribuzione ClickOnce, come specificata dal flag -Version .The version listed in the ClickOnce deployment manifest as specified by the -Version flag. Manifesti di distribuzione.Deployment manifests. Versione minima dell'applicazione che può essere eseguita da un utente.The minimum version of this application a user can run. Il flag contrassegna la versione denominata dell'applicazione come aggiornamento obbligatorio.This flag makes the named version of your application a required update. Se si rilascia una versione del prodotto contenente un aggiornamento relativo a una modifica importante o a una correzione di un difetto critico nella sicurezza, è possibile utilizzare tale flag per specificare che l'aggiornamento è obbligatorio e che l'utente non può continuare a eseguire versioni precedenti.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.

Il parametroversion ha la stessa semantica dell'argomento del flag -Version .version has the same semantics as the argument to the -Version flag.
-n, -Name nameString-n, -Name nameString DistribuzioneDeploy Tutti i tipi di file.All file types. Nome utilizzato per identificare l'applicazione.The name that is used to identify the application. Questo nome verrà usato da ClickOnce per identificare l'applicazione nel menu Start (se l'applicazione è configurata per l'installazione) e nelle finestre di dialogo relative all'elevazione delle autorizzazioni.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: se si sta aggiornando un manifesto esistente e non si specifica un nome di editore con questa opzione, il manifesto verrà aggiornato con il nome della società definito nel computer.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. Per utilizzare un nome diverso, assicurarsi di utilizzare questa opzione e specificare il nome dell'editore desiderato.To use a different name, make sure to use this option and specify the desired publisher name.
-pwd, -Password passwd-pwd, -Password passwd Tutti i tipi di file.All file types. Password utilizzata per firmare un manifesto con un certificato digitale.The password that is used for signing a manifest with a digital certificate. Questa opzione deve essere usata insieme a -CertFile .Must be used in conjunction with the -CertFile option.
-p, Processor processorValue-p, Processor processorValue MsilMsil Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
Architettura del microprocessore sulla quale verrà eseguita la distribuzione.The microprocessor architecture on which this distribution will run. Questo valore è obbligatorio se si preparano installazioni con assembly precompilati per un microprocessore specifico.This value is required if you are preparing one or more installations whose assemblies have been precompiled for a specific microprocessor. I valori validi includono msil, x86, ia64e amd64.Valid values include msil, x86, ia64, and amd64. msil sta per Microsoft Intermediate Language. Questo indica che tutti gli assembly sono indipendenti dalla piattaforma e verranno sottoposti a una compilazione JIT (just-in-time) in Common Language Runtime (CLR) alla prima esecuzione dell'applicazione.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 Manifesti di distribuzione.Deployment manifests. Specifica l'URL che verrà esaminato da ClickOnce per verificare la disponibilità di aggiornamenti dell'applicazione.Specifies the URL which ClickOnce will examine for application updates.
-pub, -Publisher publisherName-pub, -Publisher publisherName Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
Aggiunge il nome dell'editore all'elemento di descrizione del manifesto di distribuzione o del manifesto dell'applicazione.Adds the publisher name to the description element of either the deployment or application manifest. Se usata sul manifesto di un'applicazione, l'opzione -UseManifestForTrust deve essere specificata anche con il valore "true" (o "t"). In caso contrario, il parametro genererà un errore.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 Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
Specifica il collegamento visualizzato per l'applicazione ClickOnce in Installazione applicazioni.Specifies the link that appears in Add or Remove Programs for the ClickOnce application.
-ti, -TimestampUri uri-ti, -TimestampUri uri Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
URL di un servizio di aggiunta di timestamp digitale.The URL of a digital timestamping service. L'aggiunta di timestamp nei manifesti evita la necessità di firmarli nuovamente in caso di scadenza del certificato digitale prima della distribuzione della versione successiva dell'applicazione.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. Per altre informazioni, vedere Windows root certificate program members(Membri del programma Windows Root Certificate).For more information, see Windows root certificate program members.
-t, -ToFile filePath-t, -ToFile filePath - Nuovo:- New:
- Distribuzione: deploy.application- Deployment: deploy.application
- Applicazione: application.exe.manifest- Application: application.exe.manifest
- Aggiornamento:- Update:
- File di input.- The input file.
Tutti i tipi di file.All file types. Specifica il percorso di output del file creato o modificato.Specifies the output path of the file that has been created or modified.

Se non si specifica -ToFile quando si usa -New, l'output viene scritto nella directory di lavoro corrente.If -ToFile is not supplied when you use -New, the output is written to the current working directory. Se non si specifica -ToFile quando si usa -Update, Mage.exe riscrive il file nel file di input.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 Basato sulla zona in cui risiede l'URL dell'applicazione.Based on the zone in which the application URL resides. Manifesti di applicazione.Application manifests. Livello di attendibilità da concedere all'applicazione nei computer client.The level of trust to grant the application on client computers. I valori possibili sono "Internet","Intranet" e "FullTrust".Values include "Internet", "Intranet", and "FullTrust".
-um, -UseManifestForTrust willUseForTrust-um, -UseManifestForTrust willUseForTrust FalseFalse Manifesti di applicazione.Application manifests. Specifica se la firma digitale del manifesto dell'applicazione verrà utilizzata per prendere decisioni di attendibilità quando l'applicazione è in esecuzione sul client.Specifies whether the digital signature of the application manifest will be used for making trust decisions when the application runs on the client. Se il valore è impostato su "true" (o "t"), il manifesto dell'applicazione viene utilizzato per prendere decisioni di attendibilità.Specifying "true" or "t" indicates that the application manifest will be used for trust decisions. Se il valore è impostato su "false" (o "f"), verrà utilizzata la firma del manifesto di distribuzione.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 Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
Versione della distribuzione.The version of the deployment. L'argomento deve essere una stringa di versione valida nel formato "N.N.N.N", dove "N" è un Integer senza segno a 32 bit.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 Manifesti di applicazione.Application manifests.

Manifesti di distribuzione.Deployment manifests.
Utilizzare questo flag unicamente se si tratta di un'applicazione Windows Presentation Foundation (WPF) che verrà ospitata all'interno di Internet Explorer e non è un file eseguibile autonomo.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. I valori validi sono "true" (o "t") e "false" (o "f").Valid values are "true" or "t", and "false" or "f".

Per i manifesti di applicazione, inserisce l'attributo hostInBrowser nell'elemento entryPoint del manifesto.For application manifests, inserts the hostInBrowser attribute under the entryPoint element of the application manifest.

Per i manifesti di distribuzione, imposta l'attributo install dell'elemento deployment su false e salva il manifesto di distribuzione con l'estensione .xbap.For deployment manifests, sets the install attribute on the deployment element to false, and saves the deployment manifest with a .xbap extension. Se l'argomento è specificato insieme all'argomento -Install , viene generato un errore dovuto al fatto che un'applicazione ospitata dal browser non può essere un'applicazione installata offline.Specifying this argument along with the -Install argument produces an error, because a browser-hosted application cannot be an installed, offline application.

Opzioni del comando SignSign Command Options

Nella tabella seguente sono descritte le opzioni supportate dal comando -Sign , valide per tutti i tipi di file.The following table shows the options supported by the -Sign command, which apply to all types of files.

OpzioniOptions DescrizioneDescription
-cf, -CertFile filePath-cf, -CertFile filePath Specifica il percorso di un certificato digitale per la firma di un manifesto.Specifies The location of a digital certificate for signing a manifest. Questa opzione può essere usata insieme a -Password .This option can be used in conjunction with the -Password option.
-ch, -CertHash hashSignature-ch, -CertHash hashSignature Hash di un certificato digitale contenuto nell'archivio dei certificati personali del computer client.The hash of a digital certificate stored in the personal certificate store of the client computer. Corrisponde alla proprietà Thumbprint di un certificato digitale visualizzata nella console dei certificati di Windows.This corresponds to the Thumbprint property of a digital certificate viewed in the Windows Certificates Console.

Il parametrohashSignature può essere costituito da caratteri maiuscoli o minuscoli e può essere specificato sia come stringa singola sia con gli ottetti dell'identificazione digitale separati da spazi e l'intera identificazione digitale racchiusa tra virgolette.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 Password utilizzata per firmare un manifesto con un certificato digitale.The password that is used for signing a manifest with a digital certificate. Questa opzione deve essere usata insieme a -CertFile .Must be used in conjunction with the -CertFile option.
-t, -ToFile filePath-t, -ToFile filePath Specifica il percorso di output del file creato o modificato.Specifies the output path of the file that has been created or modified.

NoteRemarks

In nessun argomento di Mage.exe viene fatta distinzione tra maiuscole e minuscole.All arguments to Mage.exe are case-insensitive. I comandi e le opzioni possono essere preceduti da un trattino (-) o da una barra (/).Commands and options can be prefixed with a dash (-) or a forward slash (/).

Tutti gli argomenti usati con il comando -Sign possono essere usati in qualsiasi momento anche con il comando -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. I comandi indicati di seguito sono equivalenti.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 partire da .NET Framework versione 4.6.2 sono supportati anche i certificati CNG.Beginning with .NET Framework version 4.6.2, CNG certificates are also supported.

L'applicazione della firma è l'ultima attività da eseguire su un documento perché per verificare la validità della firma viene utilizzato un hash del file.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. Qualsiasi modifica apportata a un file firmato comporta la necessità di firmarlo nuovamente.If you make any changes to a signed file, you must sign it again. Se si firma un documento già firmato, la firma precedente verrà sostituita con quella nuova.If you sign a document that was previously signed, Mage.exe will replace the old signature with the new.

Quando si usa l'opzione -AppManifest per inserire dati in un manifesto di distribuzione, Mage.exe presuppone che il manifesto dell'applicazione si trovi nella stessa directory di quello di distribuzione, all'interno di una sottodirectory denominata in base alla versione della distribuzione corrente, e configura il manifesto di distribuzione di conseguenza.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 il manifesto dell'applicazione si trova in un altro percorso, usare l'opzione -AppCodeBase per impostare il percorso alternativo.If your application manifest will reside elsewhere, use the -AppCodeBase option to set the alternate location.

Prima di distribuire l'applicazione, è necessario firmare il manifesto di distribuzione e quello dell'applicazione.Your deployment and application manifest must be signed before you deploy your application. Per indicazioni sulla firma dei manifesti, vedere Trusted Application Deployment Overview.For guidance about signing manifests, see Trusted Application Deployment Overview.

L'opzione -TrustLevel relativa ai manifesti di applicazione definisce il set di autorizzazioni necessarie per l'esecuzione dell'applicazione sul computer client.The -TrustLevel option for application manifests describes the permission set an application requires to run on the client computer. Per impostazione predefinita, alle applicazioni viene assegnato un livello di attendibilità in base all' area in cui si trovano i rispettivi URL.By default, applications are assigned a trust level based on the zone in which their URL resides. Le applicazioni distribuite in una rete aziendale vengono in genere inserite nell'area Intranet, mentre quelle distribuite su Internet vengono inserite nell'area 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. Entrambe le aree di sicurezza limitano l'accesso dell'applicazione alle risorse locali, ma l'area Intranet è leggermente meno restrittiva dell'area 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. Nell'area FullTrust le applicazioni dispongono dell'accesso completo alle risorse locali di un computer.The FullTrust zone gives applications complete access to a computer's local resources. Se si usa l'opzione -TrustLevel per inserire un'applicazione in questa area, il gestore di attendibilità di Common Language Runtime chiederà all'utente di specificare se concedere questo livello di attendibilità superiore.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 si distribuisce l'applicazione in una rete aziendale, è possibile utilizzare la funzionalità di distribuzione di applicazioni attendibili per aumentare il livello di attendibilità dell'applicazione senza chiedere conferma all'utente.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.

Nei manifesti di applicazioni sono supportate anche sezioni Trust personalizzate.Application manifests also support custom trust sections. In questo modo, viene rispettato il principio di sicurezza in base al quale devono essere richieste autorizzazioni minime, poiché è possibile configurare il manifesto in modo da richiedere solo le autorizzazioni necessarie per l'esecuzione dell'applicazione.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 non consente di aggiungere direttamente una sezione Trust personalizzata.Mage.exe does not directly support adding a custom trust section. A tale scopo, è possibile utilizzare un editor di testo, un parser XML o lo strumento con interfaccia grafica MageUI.exe.You can add one using a text editor, an XML parser, or the graphical tool MageUI.exe. Per altre informazioni sull'uso di MageUI.exe per aggiungere sezioni Trust personalizzate, vedere MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).For more information about how to use MageUI.exe to add custom trust sections, see MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).

I nuovi manifesti creati con la versione 4 di Mage.exe, inclusa in Visual Studio 2010Visual Studio 2010, sono destinati a .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. Per le versioni precedenti di .NET Framework, è necessario utilizzare una versione precedente di Mage.exe.To target earlier versions of the .NET Framework, you must use an earlier version of Mage.exe. In caso di aggiunta o rimozione di assembly da un manifesto esistente o di nuova firma di un manifesto esistente, Mage.exe non aggiorna il manifesto in modo da specificare .NET Framework 4 Client Profile.NET Framework 4 Client Profilecome destinazione.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. Nelle tabelle seguenti vengono mostrate queste funzionalità e limitazioni.The following tables show these features and restrictions.

Versione del manifestoManifest version OperazioneOperation Mage v2.0Mage v2.0 Mage v4.0Mage v4.0
Manifesto per applicazioni destinate alla versione 2.0 o 3.x di .NET FrameworkManifest for applications targeting version 2.0 or 3.x of the .NET Framework ApriOpen OKOK OKOK
ChiudiClose OKOK OKOK
SalvaSave OKOK OKOK
Ripetere la firmaRe-sign OKOK OKOK
NuovoNew OKOK Non supportatoNot supported
Aggiornare (vedere di seguito)Update (see below) OKOK OKOK
Manifesto per applicazioni destinate alla versione 4 di .NET FrameworkManifest for applications targeting version 4 of the .NET Framework ApriOpen OKOK OKOK
ChiudiClose OKOK OKOK
SalvaSave OKOK OKOK
Ripetere la firmaRe-sign OKOK OKOK
NuovoNew Non supportatoNot supported OKOK
Aggiornare (vedere di seguito)Update (see below) Non supportatoNot supported OKOK
Versione del manifestoManifest version Dettagli dell'operazione di aggiornamentoUpdate Operation Details Mage v2.0Mage v2.0 Mage v4.0Mage v4.0
Manifesto per applicazioni destinate alla versione 2.0 o 3.x di .NET FrameworkManifest for applications targeting version 2.0 or 3.x of the .NET Framework Modificare un assemblyModify an assembly OKOK OKOK
Aggiungere un assemblyAdd an assembly OKOK OKOK
Rimuovere un assemblyRemove an assembly OKOK OKOK
Manifesto per applicazioni destinate alla versione 4 di .NET FrameworkManifest for applications targeting version 4 of the .NET Framework Modificare un assemblyModify an assembly Non supportatoNot supported OKOK
Aggiungere un assemblyAdd an assembly Non supportatoNot supported OKOK
Rimuovere un assemblyRemove an assembly Non supportatoNot supported OKOK

I nuovi manifesti creati con Mage.exe vengono destinati a .NET Framework 4 Client Profile.NET Framework 4 Client Profile.Mage.exe creates new manifests that target the .NET Framework 4 Client Profile.NET Framework 4 Client Profile. Le applicazioni ClickOnce destinate a .NET Framework 4 Client Profile.NET Framework 4 Client Profile possono essere eseguite sia su .NET Framework 4 Client Profile.NET Framework 4 Client Profile che sulla versione completa di .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 l'applicazione è destinata alla versione completa di .NET Framework 4.NET Framework 4 e non può essere eseguita su .NET Framework 4 Client Profile.NET Framework 4 Client Profile, rimuovere l'elemento del client <framework> tramite un editor di testo e firmare nuovamente il 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. Quello che segue è un elemento <framework> di esempio destinato a .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" />  

EsempiExamples

Nell'esempio seguente viene visualizzata l'interfaccia utente per Mage (MageUI.Exe).The following example opens the user interface for Mage (MageUI.exe).

mage  

Negli esempi seguenti vengono creati un manifesto di distribuzione e un manifesto di applicazione predefiniti.The following examples create a default deployment manifest and application manifest. Tutti i file vengono creati nella directory di lavoro corrente e sono denominati rispettivamente deploy.application e application.exe.manifest.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  

L'esempio seguente crea un manifesto dell'applicazione in cui sono inseriti tutti gli assembly e tutti i file di risorse presenti nella directory corrente.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  

L'esempio seguente continua l'esempio precedente specificando il nome di distribuzione e il microprocessore di destinazione.The following example continues the previous example by specifying the deployment name and target microprocessor. Nell'esempio viene inoltre specificato l'URL in cui ClickOnce dovrà controllare la disponibilità di aggiornamenti.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/  

Nell'esempio seguente viene dimostrato come creare una coppia di manifesti per la distribuzione di un'applicazione WPF che verrà ospitata in 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  

Nell'esempio seguente viene aggiornato un manifesto di distribuzione con le informazioni provenienti da un manifesto di applicazione e viene impostata la codebase per il percorso del manifesto dell'applicazione.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  

Nell'esempio seguente viene modificato il manifesto di distribuzione in modo da imporre un aggiornamento della versione installata dall'utente.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  

Nell'esempio seguente viene indicato al manifesto di distribuzione di recuperare il manifesto dell'applicazione da un'altra directory.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/  

Nell'esempio seguente viene firmato un manifesto di distribuzione esistente mediante un certificato digitale nella directory di lavoro corrente.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>  

Vedere ancheSee Also

Sicurezza e distribuzione di ClickOnceClickOnce Security and Deployment
Procedura dettagliata: distribuzione manuale di un'applicazione ClickOnceWalkthrough: Manually Deploying a ClickOnce Application
Panoramica della distribuzione di applicazioni attendibiliTrusted Application Deployment Overview
MageUI.exe (Strumento per la generazione e la modifica di manifesti, client grafico)MageUI.exe (Manifest Generation and Editing Tool, Graphical Client)
Prompt dei comandiCommand Prompts