Partager via


MsiApplyPatchA, fonction (msi.h)

Pour chaque produit répertorié par le package de correctifs comme éligible à la réception du correctif, la fonction msiApplyPatch appelle une installation et définit la propriété PATCH sur le chemin 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 est défini sur INSTALLTYPE_NETWORK_IMAGE, ce paramètre est une chaîne terminée par 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, d’autres produits éligibles répertoriés dans le package de correctifs sont ignorés et le paramètre szInstallPackage contient la chaîne terminée par null représentant le code de 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 d’accès au package. La valeur 1 pour INSTALLTYPE_NETWORK_IMAGE définit cette valeur pour une installation administrative.
INSTALLTYPE_DEFAULT
Recherche le système de produits à corriger. Dans ce cas, szInstallPackage doit être 0.
INSTALLTYPE_SINGLE_INSTANCE
Corrigez le produit spécifié par szInstallPackage. szInstallPackage est 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 avec SP1. Pour plus d’informations, consultez 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. Voir à propos des propriétés et définition des valeurs de propriété publique sur la ligne de commande. Consultez la section Remarques.

Valeur de retour

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

Remarques

É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.

note   

Vous devez définir la propriété REINSTALL sur la ligne de commande lors de l’application d’une petite mise à jour ou mise à niveau mineure correctif. 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 de 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 par défaut pratique de « REINSTALL=ALL ». La valeur par défaut de la propriété REINSTALLMODE est « omus ». À compter de Windows Installer version 3.0, la propriété RÉINSTALLER est configurée par le programme d’installation et n’a pas besoin d’être définie sur la ligne de commande.

 

Note

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

Exigences

Exigence Valeur
client minimum 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. Consultez la configuration requise de Windows Installer Run-Time pour plus d’informations sur le service pack Windows minimal requis par une version de Windows Installer.
plateforme cible Windows
d’en-tête msi.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

codes d’erreur

erreur d’initialisation

Multiple-Package Installations

non pris en charge dans Windows Installer 2.0 et versions antérieures