Table Signature

La table Signature contient les informations qui identifient de manière unique une signature de fichier. Pour plus d’informations sur les signatures, consultez Signatures numériques et Windows Installer.

La table Signature contient les colonnes suivantes.

Colonne Type Clé Nullable
Signature Identificateur O N
FileName Texte N N
MinVersion Texte N O
MaxVersion Texte N O
MinSize DoubleInteger N O
MaxSize DoubleInteger N O
MinDate DoubleInteger N O
MaxDate DoubleInteger N O
Langages Texte N O

 

Colonnes

Signature

La colonne Signature est une signature de fichier unique.

FileName

Nom du fichier.

MinVersion

Version minimale du fichier, avec une comparaison de langue. Si ce champ est spécifié, le fichier doit avoir une version au moins égale à MinVersion. Si le fichier a une version égale à la valeur du champ MinVersion, mais que la langue spécifiée dans la colonne Languages diffère, le fichier ne répond pas aux critères de filtre de signature.

Notes

La langue spécifiée dans la colonne Languages est utilisée dans la comparaison et il n’existe aucun moyen d’ignorer la langue. Si vous souhaitez qu’un fichier réponde à l’exigence de champ MinVersion, quelle que soit la langue, vous devez entrer dans le champ MinVersion une valeur inférieure à la valeur réelle. Par exemple, si la version minimale du filtre est 2.0.2600.1183, utilisez 2.0.2600.1182 pour rechercher le fichier sans correspondre aux informations de langue.

 

MaxVersion

Version maximale du fichier. Si ce champ est spécifié, le fichier doit avoir une version qui est au maximum égale à MaxVersion.

MinSize

Taille minimale du fichier. Si ce champ est spécifié, le fichier inspecté doit avoir une taille au moins égale à MinSize. Ce doit être un nombre non négatif.

MaxSize

Taille maximale du fichier. Si ce champ est spécifié, le fichier en cours d’inspection doit avoir une taille au plus égale à MaxSize. Ce doit être un nombre non négatif.

MinDate

Date et heure minimales de modification du fichier. Si ce champ est spécifié, le fichier en cours d’inspection doit avoir une date et une heure de modification au moins égales à MinDate. Ce doit être un nombre non négatif. Le format de ce champ est deux valeurs 16 bits empaquetées de type WORD. La valeur WORD d’ordre élevé spécifie la date au format de date MS-DOS. La valeur WORD d’ordre faible spécifie l’heure au format d’heure MS-DOS. La valeur 0 pour la valeur d’heure représente minuit. Consultez la section Notes.

MaxDate

Date de création maximale du fichier. Si ce champ est spécifié, la date de création du fichier en cours d’inspection doit être au maximum égale à MaxDate. Ce doit être un nombre non négatif. Le format de ce champ est deux valeurs 16 bits empaquetées de type WORD. La valeur WORD d’ordre élevé spécifie la date au format de date MS-DOS. La valeur WORD d’ordre faible spécifie l’heure au format d’heure MS-DOS. Valeur 0 pour la valeur d’heure représentant minuit. Consultez la section Notes.

Languages

Langues prises en charge par le fichier.

Notes

Cette table est utilisée avec la table AppSearch.

La signature est recherchée à l’aide de la table RegLocator, de la table IniLocator, de la table CompLocator et de la table DrLocator. Les colonnes de cette table ne sont généralement pas localisées. Si un auteur décide de rechercher des produits dans plusieurs langues, une entrée distincte peut être incluse dans le tableau pour chaque langue.

La table Signature suit généralement les règles de contrôle de version des fichiers Windows Installer. Les langues spécifiées dans la colonne Languages de la table Signature ne sont pas évaluées, sauf si les versions de fichier sont équivalentes. La colonne Languages garantit qu’un fichier est d’une langue particulière s’il est de la version demandée. Aucune méthode n’est disponible pour ignorer la colonne Languages. Une valeur NULL entrée dans la colonne Languages est traitée comme un fichier sans langue et ne correspond pas à la signature de fichier d’un fichier dont la langue apparaît dans la table Signature. L’exemple suivant recherche une version particulière de MSI.DLL.

Table DrLocator

Signature_ Parent Chemin d’accès Profondeur
MsiDll {null} c:\windows\system32 0

 

Table AppSearch

Propriété Signature_
MSIDLL MsiDll

 

Table Signature

Signature FileName MinVersion MaxVersion MinSize MaxSize MinDate MaxDate Langages
MsiDll msi.dll 2.0.2600.1106 {null} {null} {null} {null} {null} 0

 

Dans ce cas, et sur Windows XP SP1, l’action AppSearch définit MSIDLL sur c:\windows\system32\msi.dll, car MSI.DLL est un fichier indépendant du langage. Si la valeur de la colonne Languages passe de 0 à 1033, l’action AppSearch ne parvient pas à trouver le msi.dll correspondant et la propriété MSIDLL n’est pas définie.

Vous ne pouvez pas utiliser la table Signature pour interroger uniquement les langues. Pour rechercher différentes versions linguistiques d’un fichier, vous devez disposer d’une entrée distincte dans la table Signature pour chaque version de langue. Si plusieurs langues sont fournies dans la colonne Languages, la recherche concerne un fichier qui prend en charge toutes ces langues.

Le format des colonnes MinDate et MaxDate est deux valeurs 16 bits empaquetées de type WORD.

Date WORD

Bits Contenu
0–4 Jour du mois (1 à 31)
5-8 Mois (1 = janvier, 2 = février, et ainsi de suite)
9-15 Décalage de l’année à partir de 1980 (ajouter 1980 pour obtenir l’année réelle)

 

Heure WORD

Bits Contenu
0–4 Secondes divisées par 2
5-10 Minutes (0-59)
11-15 Heure (0-23 sur l’horloge de 24 heures)

 

La formule pour le calcul des valeurs des champs MinDate et MaxDate est la suivante :

( (Année - 1980) * 512 + Mois * 32 + Jour ) * 65536 + Heures * 2048 + Minutes * 32 + Secondes/2

Validation

ICE03
ICE06