Partager via


MsiCreateTransformSummaryInfoA, fonction (msiquery.h)

La fonction MsiCreateTransformSummaryInfo crée des informations récapitulatives d’une transformation existante pour inclure des conditions de validation et d’erreur. L’exécution de cette fonction définit l’enregistrement d’erreur, qui est accessible à l’aide de MsiGetLastErrorRecord.

Syntaxe

UINT MsiCreateTransformSummaryInfoA(
  [in] MSIHANDLE hDatabase,
  [in] MSIHANDLE hDatabaseReference,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions,
  [in] int       iValidation
);

Paramètres

[in] hDatabase

Handle de la base de données qui contient les nouvelles informations récapitulatives de base de données.

[in] hDatabaseReference

Handle de la base de données qui contient les informations récapitulatives d’origine.

[in] szTransformFile

Nom de la transformation à laquelle les informations récapitulatives sont ajoutées.

[in] iErrorConditions

Conditions d’erreur qui doivent être supprimées lorsque la transformation est appliquée. Utilisez une ou plusieurs des valeurs suivantes.

État d’erreur Signification
Aucune
0x00000000
Aucune des conditions suivantes.
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
Ajout d’une ligne qui existe.
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
Suppression d’une ligne inexistante.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
Ajout d’une table qui existe.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
Suppression d’une table inexistante.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
Mise à jour d’une ligne inexistante.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
Les pages de codes de transformation et de base de données ne correspondent pas, et leurs pages de codes sont neutres.

[in] iValidation

Spécifie les propriétés à valider pour vérifier que la transformation peut être appliquée à la base de données. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Indicateur de validation Signification
Aucune
0x00000000
Ne validez pas les propriétés.
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
La langue par défaut doit correspondre à la base de données de base.
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
Le produit doit correspondre à la base de données de base.
 

Valider les indicateurs de version du produit.

Indicateur de validation Signification
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
Vérifiez la version principale uniquement.
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
Vérifiez uniquement les versions principales et secondaires.
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
Vérifiez les versions principales, mineures et de mise à jour.
 

Indicateurs de relation de version de produit. Dans le tableau suivant, la version installée est la version du package en cours de transformation, et la version de base est la version du package utilisée pour créer la transformation.

Indicateur de validation Signification
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
< Version de base installée.
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
<Version installée = version de base.
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
Version installée = version de base.
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
>Version installée = version de base.
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
> Version de base installée.
 

Mettre à niveau les indicateurs de validation du code.

Indicateur de validation Signification
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode doit correspondre à la base de données de base.

Valeur retournée

Cette fonction retourne UINT.

Remarques

La propriété ProductCode et la propriété ProductVersion doivent être définies dans la table property des bases de données de base et de référence. Si MSITRANSFORM_VALIDATE_UPGRADECODE est utilisé, la propriété UpgradeCode doit également être définie dans les deux bases de données. Si ces conditions ne sont pas remplies, MsiCreateTransformSummaryInfo retourne ERROR_INSTALL_PACKAGE_INVALID.

  • N’utilisez pas le point-virgule pour les noms de fichiers ou les chemins d’accès, car il est utilisé comme délimiteur de liste pour les transformations, les sources et les correctifs.
  • Cette fonction ne peut pas être appelée à partir d’actions personnalisées. Un appel à cette fonction à partir d’une action personnalisée entraîne l’échec de la fonction.

Notes

L’en-tête msiquery.h définit MsiCreateTransformSummaryInfo comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP
Plateforme cible Windows
En-tête msiquery.h
Bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

Transformations de base de données

Ensemble de propriétés de flux d’informations récapitulatives