Partager via


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 qui est 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

ProductCode du produit à modifier.

[in] szUserName

Nom d’utilisateur d’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 un usage futur. Cette valeur doit être définie sur 0.

Valeur retournée

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é transmis à 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, ses propres installations non managées par utilisateur et les installations gérées par utilisateur pour n’importe quel utilisateur. Un non-administrateur peut uniquement modifier les installations par ordinateur et leurs propres installations (managées ou non) 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 par 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 managée du produit. Si aucune installation non gérée du produit n’est trouvée, la fonction tente de modifier une installation managée par utilisateur du produit. Si aucune installation gérée ou non managée par utilisateur du produit n’est trouvée, 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 un utilisateur autre que 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é en tant que géré par utilisateur pour l’utilisateur spécifié, la fonction retourne ERROR_UNKNOWN_PRODUCT, même si le produit est installé par ordinateur.

Notes

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

Contexte d’installation

LookupAccountName

MsiGetComponentPath

Résilience de la source