Partager via


MsiApplyPatchA, fonction (msi.h)

Pour chaque produit répertorié par le package de correctifs comme pouvant recevoir le correctif, la fonction MsiApplyPatch appelle une installation et définit la propriété PATCH sur le chemin d’accès du package de correctifs.

Syntaxe

UINT MsiApplyPatchA(
  [in] LPCSTR      szPatchPackage,
  [in] LPCSTR      szInstallPackage,
  [in] INSTALLTYPE eInstallType,
  [in] LPCSTR      szCommandLine
);

Paramètres

[in] szPatchPackage

Chaîne terminée par null spécifiant le chemin d’accès complet au package de correctifs.

[in] szInstallPackage

Si eInstallType a la valeur INSTALLTYPE_NETWORK_IMAGE, ce paramètre est une chaîne null qui spécifie un chemin d’accès au produit à corriger. Le programme d’installation applique le correctif à chaque produit éligible répertorié dans le package de correctifs si szInstallPackage a la valeur null et eInstallType est défini sur INSTALLTYPE_DEFAULT.

Si eInstallType est INSTALLTYPE_SINGLE_INSTANCE, le programme d’installation applique le correctif au produit spécifié par szInstallPackage. Dans ce cas, les autres produits éligibles répertoriés dans le package de correctifs sont ignorés et le paramètre szInstallPackage contient la chaîne null terminée représentant le code produit de l’instance à corriger. Ce type d’installation nécessite le programme d’installation exécutant Windows Server 2003 ou Windows XP.

[in] eInstallType

Ce paramètre spécifie le type d’installation à corriger.

Type d’installation Signification
INSTALLTYPE_NETWORK_IMAGE
Spécifie une installation administrative. Dans ce cas, szInstallPackage doit être défini sur un chemin de package. La valeur 1 pour INSTALLTYPE_NETWORK_IMAGE définit cette valeur pour une installation administrative.
INSTALLTYPE_DEFAULT
Recherche les produits à corriger dans le système. Dans ce cas, szInstallPackage doit avoir la valeur 0.
INSTALLTYPE_SINGLE_INSTANCE
Corrigez le produit spécifié par szInstallPackage. szInstallPackage est le code produit du instance à corriger. Ce type d’installation nécessite le programme d’installation exécutant Windows Server 2003 ou Windows XP avec SP1. Pour plus d’informations, consultez la section Installation de plusieurs instances de produits et de correctifs.

[in] szCommandLine

Chaîne terminée par null qui spécifie les paramètres de propriété de ligne de commande. Consultez À propos des propriétés et Définition des valeurs des propriétés publiques sur la ligne de commande. Consultez la section Notes.

Valeur retournée

Valeur Signification
ERROR_SUCCESS
La fonction s’est terminée avec succès.
ERROR_PATCH_PACKAGE_OPEN_FAILED
Impossible d’ouvrir le package de correctifs.
ERROR_PATCH_PACKAGE_INVALID
Le package de correctif n’est pas valide.
ERROR_PATCH_PACKAGE_UNSUPPORTED
Le package correctif n’est pas pris en charge.
Erreur liée à une action
Consultez Codes d’erreur.
Erreur d’initialisation
Une erreur d'initialisation s'est produite.

Notes

Étant donné que le délimiteur de liste pour les transformations, les sources et les correctifs est un point-virgule, ce caractère ne doit pas être utilisé pour les noms de fichiers ou les chemins d’accès.

Remarque  

Vous devez définir la propriété REINSTALL sur la ligne de commande lors de l’application d’un correctif de mise à jour mineure ou demise à jour mineure . Sans cette propriété, le correctif est inscrit sur le système, mais ne peut pas mettre à jour les fichiers. Pour les correctifs qui n’utilisent pas un type d’action personnalisée 51 pour définir automatiquement les propriétés REINSTALL et REINSTALLMODE , la propriété REINSTALL doit être définie explicitement avec le paramètre szCommandLine . Définissez la propriété REINSTALL pour répertorier les fonctionnalités affectées par le correctif ou utilisez un paramètre pratique par défaut « REINSTALL=ALL ». La valeur par défaut de la propriété REINSTALLMODE est « omus ». À compter de Windows Installer version 3.0, la propriété REINSTALL est configurée par le programme d’installation et n’a pas besoin d’être définie sur la ligne de commande.

 

Notes

L’en-tête msi.h définit MsiApplyPatch comme un 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. Le mélange 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. 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

Codes d’erreur

Erreur d’initialisation

Installations à plusieurs packages

Non pris en charge par Windows Installer 2.0 et antérieur