MsiSourceListForceResolutionA, fonction (msi.h)

La fonction MsiSourceListForceResolution force le programme d’installation à rechercher dans la liste source une source de produit valide la prochaine fois qu’une source est requise. Par exemple, lorsque le programme d’installation effectue une installation ou une réinstallation, ou lorsqu’il nécessite le chemin d’accès d’un composant défini pour s’exécuter à partir de la source.

Syntaxe

UINT MsiSourceListForceResolutionA(
  [in] LPCSTR szProduct,
  [in] LPCSTR szUserName,
  [in] DWORD  dwReserved
);

Paramètres

[in] szProduct

Le ProductCode du produit à modifier.

[in] szUserName

Nom d’utilisateur pour une installation par utilisateur. Le nom d’utilisateur doit toujours être au format DOMAIN\USERNAME (ou MACHINENAME\USERNAME pour un utilisateur local).

Chaîne vide ou NULL pour une installation par ordinateur.

[in] dwReserved

Réservé pour une utilisation ultérieure. Cette valeur doit être définie sur 0.

Valeur de retour

La fonction MsiSourceListForceResolution retourne les valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
L’appelant n’a pas suffisamment d’accès pour forcer la résolution du produit.
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_BAD_USER_NAME
L’utilisateur spécifié n’est pas un utilisateur valide.
ERROR_FUNCTION_FAILED
La fonction n’a pas pu se terminer.
ERROR_INSTALL_SERVICE_FAILURE
Impossible d’accéder au service d’installation.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été passé à la fonction.
ERROR_SUCCESS
La fonction a réussi.
ERROR_UNKNOWN_PRODUCT
Le produit spécifié est inconnu.

Remarques

Un administrateur peut modifier les installations par ordinateur, leurs propres installations non gérées par utilisateur et les installations gérées par utilisateur pour n’importe quel utilisateur. Un non-administrateur ne peut modifier que les installations par ordinateur et leurs propres installations (gérées ou non gérées) par utilisateur.

Si le nom d’utilisateur est une chaîne vide ou NULL, la fonction fonctionne sur l’installation par ordinateur du produit. Dans ce cas, si le produit est installé uniquement en tant qu’utilisateur, la fonction retourne ERROR_UNKNOWN_PRODUCT.

Si le nom d’utilisateur n’est pas une chaîne vide ou NULL, il spécifie le nom de l’utilisateur dont l’installation du produit est modifiée. Si le nom d’utilisateur est le nom d’utilisateur actuel, la fonction tente d’abord de modifier une installation non gérée du produit. Si aucune installation non gérée du produit n’est disponible, la fonction tente de modifier une installation gérée par utilisateur du produit. Si aucune installation gérée ou non managée par utilisateur du produit est introuvable, la fonction retourne ERROR_UNKNOWN_PRODUCT, même si le produit est installé par ordinateur.

Cette fonction ne peut pas modifier une installation non gérée pour n’importe quel utilisateur en plus de l’utilisateur actuel. Si le nom d’utilisateur n’est pas une chaîne vide ou NULL, mais n’est pas l’utilisateur actuel, la fonction recherche uniquement une installation gérée par utilisateur du produit pour l’utilisateur spécifié. Si le produit n’est pas installé comme géré par utilisateur pour l’utilisateur spécifié, la fonction retourne ERROR_UNKNOWN_PRODUCT, même si le produit est installé par ordinateur.

Note

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

contexte d’installation

LookupAccountName

MsiGetComponentPath

résilience source