MsiBeginTransactionA, fonction (msi.h)

La fonction MsiBeginTransaction démarre le traitement transactionnel d’une installation à plusieurs packages et retourne un identificateur pour la transaction. La fonction MsiEndTransaction met fin à la transaction.

Windows Installer 4.0 et versions antérieures : Non pris en charge. Cette fonction est disponible à partir de Windows Installer 4.5.

Syntaxe

UINT MsiBeginTransactionA(
  [in]  LPCSTR    szName,
  [in]  DWORD     dwTransactionAttributes,
  [out] MSIHANDLE *phTransactionHandle,
  [out] HANDLE    *phChangeOfOwnerEvent
);

Paramètres

[in] szName

Nom de l’installation à plusieurs packages.

[in] dwTransactionAttributes

Attributs de l’installation de plusieurs packages.

Valeur Signification
0
Lorsque 0 ou aucune valeur n’est définie, Windows Installer ferme l’interface utilisateur de l’installation précédente.
MSITRANSACTION_CHAIN_EMBEDDEDUI
Définissez cet attribut pour demander à Windows Installer de ne pas arrêter l’interface utilisateur incorporée tant que la transaction n’est pas terminée.

[out] phTransactionHandle

L’ID de transaction est une valeur MSIHANDLE qui identifie la transaction. Un seul processus peut posséder une transaction à la fois.

[out] phChangeOfOwnerEvent

Ce paramètre retourne un handle à un événement qui est défini lorsque la fonction MsiJoinTransaction remplace le propriétaire de la transaction par un nouveau propriétaire. Le propriétaire actuel peut l’utiliser pour déterminer quand la propriété de la transaction a changé. Le fait de laisser une transaction sans propriétaire annulera la transaction.

Valeur retournée

La fonction MsiBeginTransaction retourne les valeurs suivantes.

Valeur Signification
ERROR_INSTALL_SERVICE_FAILURE
Impossible d’accéder au service d’installation. Cette fonction nécessite le service Windows Installer.
ERROR_INSTALL_ALREADY_RUNNING
Une seule transaction peut être ouverte sur un système à la fois. La fonction retourne cette erreur si elle est appelée pendant l’exécution d’une autre transaction.
ERROR_INVALID_PARAMETER
Un paramètre non valide est passé à la fonction .
ERROR_ROLLBACK_DISABLED

Restauration Les installations ont été désactivées par la propriété DISABLEROLLBACK ou la stratégie DisableRollback .

Remarques

Notes

L’en-tête msi.h définit MsiBeginTransaction en tant qu’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.5 sur Windows Vista, Windows XP, Windows Server 2003 et Windows Server 2008. Pour plus d’informations sur le Service Pack Windows requis par une version de Windows Installer, consultez Configuration requise pour le runtime Windows.
Plateforme cible Windows
En-tête msi.h
Bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

Installations de plusieurs packages