Manifeste d'application ClickOnce
Un manifeste d'application de ClickOnce est un fichier XML qui décrit une application qui est déployée à l'aide de ClickOnce.
les manifestes d'application deClickOnce ont les éléments et les attributs suivants.
Élément |
Description |
Attributs |
---|---|---|
Obligatoire. Élément du niveau le plus haut. |
manifestVersion |
|
Obligatoire. Identifie l'assembly principal de l'application ClickOnce. |
name version publicKeyToken processorArchitecture language |
|
Identifie la configuration de sécurité requise de l'application. |
Aucun |
|
Obligatoire. Identifie le point d'entrée de code d'application. |
name |
|
Obligatoire. Identifie chaque dépendance requise pour que l'application s'exécute. Identifie éventuellement les assemblys à préinstaller. |
Aucun |
|
Facultatif. Identifie chaque fichier, autre que les fichiers d'assembly, utilisé par l'application. Il peut inclure des données d'isolation COM associées au fichier. |
name size group optional writeableType |
|
Facultatif. Identifie une extension de fichier à associer à l'application. |
extension description progid defaultIcon |
Notes
Le fichier manifeste de l'application de ClickOnce identifie une application déployée à l'aide de ClickOnce. Pour plus d'informations sur ClickOnce, consultez Sécurité et déploiement ClickOnce.
Emplacement du fichier
Un manifeste d'application de ClickOnce est spécifique à une version unique d'un déploiement. Pour cette raison, ils doivent être enregistrés séparément des manifestes de déploiement. Il est généralement convenu de les placer dans un sous-répertoire prenant le nom de la version associée.
Le manifeste d'application doit toujours être signé avant son déploiement. Si vous modifiez un manifeste de l'application manuellement, vous devez utiliser mage.exe pour ré-signer le manifeste de l'application, mettre à jour le manifeste de déploiement, puis ré-signer le manifeste de déploiement. Pour plus d'informations, consultez Procédure pas à pas : déploiement manuel d'une application ClickOnce.
Syntaxe des noms de fichier
Le nom d'un fichier manifeste de l'application de ClickOnce doit être le nom complet et l'extension de l'application comme cela est identifié dans l'élément d' assemblyIdentity , suivi de l'extension .manifest. Par exemple, le manifeste d'une application faisant référence à la solution Exemple.exe doit respecter la syntaxe de nom suivante.
example.exe.manifest
Exemple
L'exemple de code suivant illustre un manifeste d'application pour une application 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>