Élément <file> (application ClickOnce)

Identifie tous les fichiers hors assembly qui sont téléchargés et utilisés par l’application.

Syntax

<file
    name
    size
    group
    optional
    writeableType
>
    <typelib
        tlbid
        version
        helpdir
        resourceid
        flags
    />
    <comClass
        clsid
        description
        threadingModel
        tlbid
        progid
        miscStatus
        miscStatusIcon
        miscStatusContent
        miscStatusDocPrint
        miscStatusThumbnail
    />
    <comInterfaceExternalProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <comInterfaceProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <windowClass
        versioned
    />
</file>

Éléments et attributs

L’élément file est facultatif. L’élément a les attributs suivants.

Attribut Description
name Obligatoire. Identifie le nom du fichier.
size Obligatoire. Spécifie la taille, en octets, du fichier.
group Facultatif si l’attribut optional n’est pas spécifié ou est défini sur false ; obligatoire si optional est true. Nom du groupe auquel appartient ce fichier. Le nom peut être n’importe quelle valeur de chaîne Unicode choisie par le développeur. Il est utilisé pour télécharger des fichiers à la demande avec la classe ApplicationDeployment.
optional facultatif. Spécifie si ce fichier doit être téléchargé lors de la première exécution de l’application ou si le fichier doit résider uniquement sur le serveur jusqu’à ce que l’application en fasse la demande. Si l’attribut est false ou n’est pas défini, le fichier est téléchargé lors de la première exécution ou installation de l’application. Si l’attribut est true, une valeur group doit être spécifiée pour que le manifeste de l’application soit valide. optional ne peut pas avoir la valeur true si writeableType est spécifié avec la valeur applicationData.
writeableType facultatif. Spécifie que ce fichier est un fichier de données. Actuellement, la seule valeur valide est applicationData.

typelib

L’élément typelib est un enfant facultatif de l’élément file. L’élément décrit la bibliothèque de types qui appartient au composant COM. L’élément a les attributs suivants.

Attribut Description
tlbid Obligatoire. GUID attribué à la bibliothèque de types.
version Obligatoire. Numéro de version de la bibliothèque de types.
helpdir Obligatoire. Répertoire qui contient les fichiers d’aide du composant. Peut être de longueur nulle.
resourceid facultatif. Représentation sous forme de chaîne hexadécimale de l’identificateur de paramètres régionaux (LCID). C’est une valeur de un à quatre chiffres hexadécimaux sans préfixe 0x et sans zéros non significatifs. L’identificateur LCID peut avoir un identificateur indépendant de la sous-langue.
flags facultatif. Représentation sous forme de chaîne des indicateurs pour cette bibliothèque de types. Plus précisément, cela doit être l’une de ces valeurs : « RESTRICTED », « CONTROL », « HIDDEN » et « HASDISKIMAGE ».

comClass

L’élément comClass est un enfant facultatif de l’élément file, mais il est obligatoire si l’application ClickOnce contient un composant COM qu’elle a l’intention de déployer à l’aide de COM sans inscription. L’élément a les attributs suivants.

Attribut Description
clsid Obligatoire. ID de classe du composant COM, exprimé sous forme de GUID.
description facultatif. Nom de la classe.
threadingModel facultatif. Modèle de thread utilisé par les classes COM in-process. Si cette propriété a la valeur Null, aucun modèle de thread n’est utilisé. Le composant est créé sur le thread principal du client et les appels provenant d’autres threads sont marshalés sur ce thread. La liste suivante présente les valeurs valides :

Apartment, Free, Both et Neutral.
tlbid facultatif. GUID de la bibliothèque de types pour ce composant COM.
progid facultatif. Identificateur programmatique dépendant de la version qui est associé au composant COM. Un identificateur ProgID a le format <vendor>.<component>.<version>.
miscStatus facultatif. Duplique dans le manifeste de l’assembly les informations fournies par la clé de Registre MiscStatus. Si les valeurs des attributs miscStatusIcon, miscStatusContent, miscStatusDocprint ou miscStatusThumbnail sont introuvables, la valeur par défaut correspondante listée dans miscStatus est utilisée pour les attributs manquants. La valeur peut être une liste, délimitée par des virgules, des valeurs d’attribut indiquées dans le tableau suivant. Vous pouvez utiliser cet attribut si la classe COM est une classe OCX qui nécessite des valeurs de la clé de Registre MiscStatus.
miscStatusIcon facultatif. Duplique dans le manifeste de l’assembly les informations fournies par DVASPECT_ICON. Il peut fournir une icône d’un objet. La valeur peut être une liste, délimitée par des virgules, des valeurs d’attribut indiquées dans le tableau suivant. Vous pouvez utiliser cet attribut si la classe COM est une classe OCX qui nécessite des valeurs de la clé de Registre Miscstatus.
miscStatusContent facultatif. Duplique dans le manifeste de l’assembly les informations fournies par DVASPECT_CONTENT. Il peut fournir un document composé affichable à l’écran ou imprimable sur une imprimante. La valeur peut être une liste, délimitée par des virgules, des valeurs d’attribut indiquées dans le tableau suivant. Vous pouvez utiliser cet attribut si la classe COM est une classe OCX qui nécessite des valeurs de la clé de Registre MiscStatus.
miscStatusDocPrint facultatif. Duplique dans le manifeste de l’assembly les informations fournies par DVASPECT_DOCPRINT. Il peut fournir une représentation d’objet affichable à l’écran tel qu’il serait imprimé sur une imprimante. La valeur peut être une liste, délimitée par des virgules, des valeurs d’attribut indiquées dans le tableau suivant. Vous pouvez utiliser cet attribut si la classe COM est une classe OCX qui nécessite des valeurs de la clé de Registre MiscStatus.
miscStatusThumbnail facultatif. Duplique dans le manifeste de l’assembly les informations fournies par DVASPECT_THUMBNAIL. Il peut fournir une miniature d’un objet affichable dans un outil de navigation. La valeur peut être une liste, délimitée par des virgules, des valeurs d’attribut indiquées dans le tableau suivant. Vous pouvez utiliser cet attribut si la classe COM est une classe OCX qui nécessite des valeurs de la clé de Registre MiscStatus.

comInterfaceExternalProxyStub

L’élément comInterfaceExternalProxyStub est un enfant facultatif de l’élément file, mais il peut être obligatoire si l’application ClickOnce contient un composant COM qu’elle a l’intention de déployer à l’aide de COM sans inscription. L'élément contient les attributs ci-dessous.

Attribut Description
iid Obligatoire. ID d’interface (IID) qui est pris en charge par ce proxy. L’IID doit être entouré d’accolades.
baseInterface facultatif. IID de l’interface dont l’interface référencée par la propriété iid est dérivée.
numMethods facultatif. Nombre de méthodes implémentées par l’interface.
name facultatif. Nom de l’interface tel qu’il apparaîtra dans le code.
tlbid facultatif. Bibliothèque de types qui contient la description de l’interface spécifiée par l’attribut iid.
proxyStubClass32 facultatif. Mappe un IID à un CLSID dans des DLL proxy 32 bits.

comInterfaceProxyStub

L’élément comInterfaceProxyStub est un enfant facultatif de l’élément file, mais il peut être obligatoire si l’application ClickOnce contient un composant COM qu’elle a l’intention de déployer à l’aide de COM sans inscription. L'élément contient les attributs ci-dessous.

Attribut Description
iid Obligatoire. ID d’interface (IID) qui est pris en charge par ce proxy. L’IID doit être entouré d’accolades.
baseInterface facultatif. IID de l’interface dont l’interface référencée par la propriété iid est dérivée.
numMethods facultatif. Nombre de méthodes implémentées par l’interface.
Name facultatif. Nom de l’interface tel qu’il apparaîtra dans le code.
Tlbid facultatif. Bibliothèque de types qui contient la description de l’interface spécifiée par l’attribut iid.
proxyStubClass32 facultatif. Mappe un IID à un CLSID dans des DLL proxy 32 bits.
threadingModel facultatif. facultatif. Modèle de thread utilisé par les classes COM in-process. Si cette propriété a la valeur Null, aucun modèle de thread n’est utilisé. Le composant est créé sur le thread principal du client et les appels provenant d’autres threads sont marshalés sur ce thread. La liste suivante présente les valeurs valides :

Apartment, Free, Both et Neutral.

windowClass

L’élément windowClass est un enfant facultatif de l’élément file, mais il peut être obligatoire si l’application ClickOnce contient un composant COM qu’elle a l’intention de déployer à l’aide de COM sans inscription. L’élément référence une classe de fenêtre définie par le composant COM auquel une version doit être appliquée. L'élément contient les attributs ci-dessous.

Attribut Description
versioned facultatif. Contrôle si le nom de la classe de fenêtre interne utilisé dans l’inscription contient la version de l’assembly qui contient la classe de fenêtre. Cet attribut peut avoir la valeur yes ou no. La valeur par défaut est yes. La valeur no doit être utilisée uniquement si la même classe de fenêtre est définie par un composant côte à côte et un composant non côte à côte équivalent et que vous souhaitez les traiter en tant que classe de fenêtre identique. Notez que les règles habituelles relatives à l’inscription de la classe de fenêtre s’appliquent : seul le premier composant qui inscrit la classe de fenêtre pourra l’inscrire, car aucune version ne lui est appliquée.

hash

L’élément hash est un enfant facultatif de l’élément file. L’élément hash ne comporte pas d’attributs.

ClickOnce utilise un hachage algorithmique de tous les fichiers dans une application en guise de vérification de sécurité, et s’assure ainsi qu’aucun des fichiers n’a été modifié après le déploiement. Si l’élément hash n’est pas inclus, cette vérification n’est pas effectuée. Il est donc déconseillé d’omettre l’élément hash.

Si un manifeste contient un fichier qui n’est pas haché, il ne peut pas être signé numériquement, car les utilisateurs ne peuvent pas vérifier le contenu d’un fichier non haché.

dsig:Transforms

L’élément dsig:Transforms est un enfant obligatoire de l’élément hash. L’élément dsig:Transforms ne comporte pas d’attributs.

dsig:Transform

L’élément dsig:Transform est un enfant obligatoire de l’élément dsig:Transforms. L’élément dsig:Transform a les attributs suivants.

Attribut Description
Algorithm Algorithme utilisé pour calculer le code de hachage pour ce fichier. Actuellement, la seule valeur utilisée par ClickOnce est urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

L’élément dsig:DigestMethod est un enfant obligatoire de l’élément hash. L’élément dsig:DigestMethod a les attributs suivants.

Attribut Description
Algorithm Algorithme utilisé pour calculer le code de hachage pour ce fichier. Actuellement, la seule valeur utilisée par ClickOnce est http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

L’élément dsig:DigestValue est un enfant obligatoire de l’élément hash. L’élément dsig:DigestValue ne comporte pas d’attributs. Sa valeur texte est le hachage calculé pour le fichier spécifié.

Notes

Cet élément identifie tous les fichiers hors assembly qui composent l’application et, en particulier, les valeurs de hachage pour la vérification des fichiers. Cet élément peut aussi inclure des données d’isolation COM (Component Object Model) associées au fichier. Si un fichier change, le fichier manifeste de l’application doit également être modifié pour refléter le changement.

Exemple

L’exemple de code suivant illustre les éléments file contenus dans le manifeste d’une application déployée à l’aide de ClickOnce.

<file name="Icon.ico" size="9216">
  <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>lVoj+Rh6RQ/HPNLOdayQah5McrI=</dsig:DigestValue>
  </hash>
</file>

Voir aussi