Table de fichier

La table de fichiers contient une liste complète de fichiers sources avec leurs différents attributs, classés par un identificateur unique, non localisé. Les fichiers peuvent être stockés sur le média source sous forme de fichiers individuels ou compressés dans un fichier d’armoire. Pour plus d’informations, consultez Utilisation d’armoires et de sources compressées.

La table de fichiers contient les colonnes suivantes.

Colonne Type Clé Nullable
Fichier Identificateur O N
Component_ Identificateur N N
FileName Nom du fichier N N
FileSize DoubleInteger N N
Version Version N O
Langage Langage N O
Attributs Integer N O
Séquence Integer N N

 

Colonnes

Fichier

Jeton non localisé qui identifie de manière unique le fichier. Ce champ n’est pas sensible au cas. N’attribuez pas d’identificateurs à différents fichiers qui diffèrent uniquement par leur cas.

Component_

Clé externe dans la première colonne de la table de composants. Ce champ identifie le composant qui contrôle le fichier.

Fichier

Nom de fichier utilisé pour l’installation. Le nom peut être localisé.

Étant donné que certains serveurs web peuvent être sensibles à la casse, FileName doit correspondre exactement au cas des fichiers sources pour garantir la prise en charge des téléchargements Internet.

Taille

Taille du fichier en octets. Il doit s’agir d’un nombre non négatif.

Version

Ce champ est la chaîne de version d’un fichier versioned. Ce champ est vide pour les fichiers non versionnés. La version du fichier entrée dans ce champ doit être identique à la version du fichier inclus dans le package d’installation.

Le champ Version peut également être défini pour contenir la clé primaire d’un autre enregistrement dans la table Fichier. Le fichier référencé détermine ensuite la logique de contrôle de version de ce fichier. Pour plus d’informations, consultez Fichiers compagnons. Notez que si ce fichier est le chemin d’accès clé de son composant, il ne doit pas être spécifié en tant que fichier complémentaire.

Langue

Liste des ID de langue décimale séparés par des virgules.

Les fichiers de police ne doivent pas être créés avec un ID de langue, car les polices n’ont pas de ressource d’ID de langue incorporée. Cette colonne doit donc être laissée null pour les fichiers de police.

Attributs

Entier qui contient des indicateurs de bits qui représentent des attributs de fichier.

Le tableau suivant montre la définition du champ bit.

Constant Valeur hexadécimale Decimal Description
msidbFileAttributesReadOnly 0x000001 1 Lecture seule
msidbFileAttributesHidden 0x000002 2 Hidden
msidbFileAttributesSystem 0x000004 4 Système
msidbFileAttributesVital 0x000200 512 Le fichier est essentiel pour l’opération précise du composant auquel il appartient. Si l’installation d’un fichier avec l’attribut msidbFileAttributesVital échoue, l’installation s’arrête et est restaurée. Dans ce cas, le programme d’installation affiche une boîte de dialogue sans bouton Ignorer. Si cet attribut n’est pas défini et que l’installation du fichier échoue, le programme d’installation affiche une boîte de dialogue avec un bouton Ignorer. Dans ce cas, l’utilisateur peut choisir d’ignorer l’échec de l’installation du fichier et continuer.
msidbFileAttributesChecksum 0x000400 1 024 Le fichier contient une somme de contrôle valide. Une somme de contrôle est requise pour réparer un fichier endommagé.
msidbFileAttributesPatchAdded 0x001000 4096 Ce bit doit uniquement être ajouté par un correctif et si le fichier est ajouté par le correctif.
msidbFileAttributesNoncompressed 0x002000 8 192 Le type de source du fichier n’est pas compressé. Si la valeur est définie, ignorez la propriété Résumé du nombre de mots . Si aucun msidbFileAttributesNoncompressed ou msidbFileAttributesCompressed n’est défini, l’état de compression du fichier est spécifié par la propriété De synthèse du nombre de mots. Ne définissez pas msidbFileAttributesNoncompressed et msidbFileAttributesCompressed.
msidbFileAttributesCompressed 0x004000 16384 Le type de source du fichier est compressé. Si la valeur est définie, ignorez la propriété Résumé du nombre de mots . Si aucun msidbFileAttributesNoncompressed ou msidbFileAttributesCompressed n’est défini, l’état de compression du fichier est spécifié par la propriété De synthèse du nombre de mots. Ne définissez pas msidbFileAttributesNoncompressed et msidbFileAttributesCompressed.

 

Si le bit msidbFileAttributesVital dans la colonne Attributes est défini et si le composant auquel appartient le fichier est sélectionné pour l’installation, le programme d’installation doit être en mesure d’installer ce fichier pour que l’installation soit effectuée correctement. Si le programme d’installation ne parvient pas à installer le fichier pour une raison quelconque (par exemple, si le fichier source ne peut pas se trouver dans l’image source), une boîte de dialogue d’erreur s’affiche avec les options « Réessayer » ou « Annuler ». Pour un fichier qui n’a pas msidbFileAttributesVital défini, les options en cas d’erreur d’installation sont « Abandonner », « Réessayer » et « Ignorer » (autrement dit, l’utilisateur aura la possibilité d’effectuer l’installation correctement sans installer ce fichier).

Le bit msidbFileAttributesChecksum dans la colonne Attributes doit être défini pour chaque fichier exécutable de l’installation qui a une somme de contrôle valide stockée dans l’en-tête de fichier Exécutable portable (PE). Seuls les fichiers dont ce bit est défini seront jamais vérifiés pour la somme de contrôle valide lors d’une réinstallation. Pour plus d’informations, consultez la page REINSTALLMODE.

Séquence

Position de séquence de ce fichier sur les images multimédias. Cet ordre doit correspondre à l’ordre des fichiers du cabinet si les fichiers sont compressés. Les entiers de ce champ doivent être égaux ou supérieurs à 1.

Les numéros de séquence dans la colonne Séquence sont utilisés pour spécifier à la fois l’ordre d’installation des fichiers et le support source sur lequel se trouve le fichier (conjointement avec la table multimédia). Par exemple, supposons qu’un fichier a un numéro de séquence de 92. Pour déterminer le disque source sur lequel réside ce fichier, recherchez dans la table Media l’entrée avec la plus petite valeur de dernière séquence supérieure à 92.

Bien que les fichiers compressés soient affectés à des numéros de séquence internes dans les armoires, ces nombres absolus n’ont pas besoin de correspondre aux numéros de séquence dans la table Fichier. Toutefois, il est important que la séquence de fichiers de la table Fichier soit identique à la séquence des fichiers dans les armoires.

Pour les fichiers qui ne sont pas compressés, les numéros de séquence n’ont pas besoin d’être uniques. Par exemple, si tous vos fichiers ne sont pas compressés et que tous résident sur un seul disque, vous pouvez donner à tous les fichiers le même numéro de séquence.

La limite maximale est de 32767 fichiers. Pour créer un package Windows Installer avec d’autres fichiers, consultez Création d’un package volumineux.

Notes

Les actions InstallFiles et RemoveFiles dans les tables de séquence traitent les informations de cette table. Pour plus d’informations sur l’utilisation de tables de séquences, consultez Utilisation d’une table de séquences.

La table est initialement générée à partir de la liste de fichiers, mais si la compression de l’armoire est utilisée, la table est régénérée à partir de la sortie du moteur de compression. Pour plus d’informations, consultez Fichiers d’armoire.

Pour déplacer un fichier existant sur l’ordinateur de l’utilisateur pendant l’installation, utilisez l’action MoveFiles et la table MoveFile. Pour installer un fichier à plusieurs emplacements, utilisez l’action DuplicateFiles et la table DuplicateFile.

Le tableau suivant récapitule les combinaisons possibles de valeurs dans la colonne Version et la colonne Langue. Pour plus d’informations, consultez Règles de contrôle de version des fichiers.

Version Langage Description
1.2.3.4 1033 Version et langue.
1.2.3.4 (Null) Version mais aucune langue.
1.2.3.4 0 La version et la langue sont neutres.
Testdb (Null) Fichier complémentaire sans langue associée.
Testdb 1033 Fichier complémentaire et langue.
(Null) 1033 Aucune version, mais n’a pas de langage associé à celui-ci (autrement dit, typelib, helpfile).

 

Pour plus d’informations, consultez la table MsiLockPermissionsEx et la table LockPermissions.

Validation

ICE02
ICE03
ICE04
ICE06
ICE18
ICE30
ICE32
ICE35
ICE39
ICE42
ICE45
ICE50
ICE51
ICE54
ICE55
ICE57
ICE59
ICE60
ICE67
ICE69
ICE76
ICE91