Manifesto dell'applicazione ClickOnce

Un manifesto dell'applicazione ClickOnce è un file XML che descrive un'applicazione distribuita tramite ClickOnce.

I manifesti dell'applicazione ClickOnce hanno gli elementi e gli attributi seguenti.

Elemento Descrizione Attributi
<Elemento assembly> Obbligatorio. Elemento di primo livello. manifestVersion
<Elemento assemblyIdentity> Obbligatorio. Identifica l'assembly primario dell'applicazione ClickOnce. name

version

publicKeyToken

processorArchitecture

language
<Elemento trustInfo> Identifica i requisiti di sicurezza dell'applicazione. None
<Elemento entryPoint> Obbligatorio. Identifica il punto di ingresso del codice dell'applicazione. name
<Elemento dependency> Obbligatorio. Identifica ogni dipendenza necessaria per l'esecuzione dell'applicazione. Può anche identificare gli assembly che è necessario preinstallare. None
<Elemento file> Facoltativo. Identifica ogni file nonassembly utilizzato dall'applicazione. Può includere i dati sull'isolamento COM (Component Object Model) associati al file. name

size

group

optional

writeableType
<Elemento fileAssociation> Facoltativo. Identifica un'estensione di file da associare all'applicazione. extension

description

progid

defaultIcon

Osservazioni:

Il file manifesto dell'applicazione ClickOnce identifica un'applicazione distribuita usando ClickOnce. Per altre informazioni su ClickOnce, vedere ClickOnce Security and Deployment.For more information about ClickOnce Security and Deployment.

Percorso del file

Un manifesto dell'applicazione ClickOnce è specifico di una singola versione di una distribuzione. Per questo motivo, devono essere archiviati separatamente dai manifesti di distribuzione. La convenzione comune consiste nell'inserirli in una sottodirectory denominata dopo la versione associata.

Il manifesto dell'applicazione deve sempre essere firmato prima della distribuzione. Se si modifica manualmente un manifesto dell'applicazione, è necessario usare mage.exe per firmare nuovamente il manifesto dell'applicazione, aggiornare il manifesto della distribuzione e quindi firmare nuovamente il manifesto della distribuzione. Per altre informazioni, vedere Procedura dettagliata: Distribuire manualmente un'applicazione ClickOnce.

Sintassi del nome file

Il nome di un file manifesto dell'applicazione ClickOnce deve essere il nome completo e l'estensione dell'applicazione, come identificato nell'elemento, seguito dall'estensione assemblyIdentity.manifest. Ad esempio, un manifesto dell'applicazione che fa riferimento all'applicazione Example.exe userebbe la sintassi del nome file seguente.

example.exe.manifest

Esempio

L'esempio di codice seguente mostra un manifesto dell'applicazione 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>

Vedi anche