Manifesto dell'applicazione ClickOnce
Un manifesto di applicazione di ClickOnce è un file XML che descrive un'applicazione che viene distribuita tramite ClickOnce.
i manifesti dell' applicazione diClickOnce hanno i seguenti elementi e attributi.
Elemento |
Descrizione |
Attributi |
---|---|---|
Obbligatorio.Elemento di primo livello. |
manifestVersion |
|
Obbligatorio.Identifica l'assembly primario dell'applicazione ClickOnce. |
name version publicKeyToken processorArchitecture language |
|
Identifica i requisiti di sicurezza dell'applicazione. |
Nessuno |
|
Obbligatorio.Identifica il punto di ingresso del codice dell'applicazione. |
name |
|
Obbligatorio.Identifica ciascuna dipendenza richiesta per l'esecuzione dell'applicazione.Può anche identificare gli assembly che è necessario preinstallare. |
Nessuno |
|
Parametro facoltativo.Identifica ciascun file non assembly utilizzato dall'applicazione.Può includere i dati sull'isolamento COM (Component Object Model) associati al file. |
name size group optional writeableType |
|
Parametro facoltativo.Identifica un'estensione di file da associare all'applicazione. |
extension description progid defaultIcon |
Note
Il file manifesto di applicazione di ClickOnce identifica un'applicazione distribuita tramite ClickOnce.Per ulteriori informazioni su ClickOnce, vedere Sicurezza e distribuzione di ClickOnce.
Percorso file
Un manifesto di applicazione di ClickOnce è specifico di una singola versione di una distribuzione.Per questo motivo, devono essere archiviati separatamente dai manifesti di distribuzione.Di solito vengono inseriti in una sottodirectory a cui viene assegnato un nome in base alla versione associata.
Il manifesto dell'applicazione deve essere sempre firmato prima della distribuzione.Se si modifica un manifesto dell'applicazione manualmente, è necessario utilizzare mage.exe per firmare di nuovo tali manifesti dell'applicazione, per aggiornare il manifesto di distribuzione e quindi firmare nuovamente il manifesto di distribuzione.Per ulteriori informazioni, vedere Procedura dettagliata: distribuzione manuale di un'applicazione ClickOnce.
Sintassi del nome file
Il nome di un file manifesto di applicazione di ClickOnce deve essere il nome completo e l'estensione dell' applicazione come identificato nell' elemento di assemblyIdentity , seguito dall' estensione manifest.Per un manifesto dell'applicazione che fa riferimento, ad esempio, all'applicazione Example.exe verrà utilizzata la sintassi del nome di file riportata di seguito.
example.exe.manifest
Esempio
Nell'esempio di codice riportato di seguito viene illustrato un manifesto per un'applicazione ClickOnce.
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1">
<asmv1:assemblyIdentity name="My Application Deployment.exe" version="1.0.0.0" publicKeyToken="43cb1e8e7a352766" language="neutral" processorArchitecture="x86" type="win32" />
<application />
<entryPoint>
<assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<commandLine file="MyApplication.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--
UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.20506.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="4096">
<assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>DpTW7RzS9IeT/RBSLj54vfTEzNg=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<publisherIdentity name="CN=DOMAINCONTROLLER\UserMe" issuerKeyHash="18312a18a21b215ecf4cdb20f5a0e0b0dd263c08" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
…
</Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>