Partager via


MsiSourceListAddSourceA, fonction (msi.h)

La fonction MsiSourceListAddSource ajoute à la liste des sources réseau valides qui contiennent le type de sources spécifié pour un produit ou un correctif dans un contexte utilisateur spécifié.

Le nombre de sources dans la propriété SOURCELIST est illimité.

Syntaxe

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

Paramètres

[in] szProduct

ProductCode du produit à modifier.

[in] szUserName

Nom d’utilisateur d’une installation par utilisateur. Sur Windows 2000 ou Windows XP, 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.

[in] szSource

Pointeur vers la chaîne spécifiant la source.

Valeur retournée

Code de retour Description
ERROR_ACCESS_DENIED
L’utilisateur n’a pas la possibilité d’ajouter une source.
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_BAD_USERNAME
Impossible de résoudre le nom d’utilisateur.
ERROR_FUNCTION_FAILED
La fonction n’a pas réussi.
ERROR_INSTALL_SERVICE_FAILURE
Impossible d’accéder au service du programme d’installation.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction.
ERROR_SUCCESS
La source a été ajoutée.
ERROR_UNKNOWN_PRODUCT
Le produit spécifié est inconnu.

Notes

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. Les utilisateurs peuvent être autorisés à rechercher des sources en définissant une stratégie. Pour plus d’informations, consultez les stratégies DisableBrowse, AllowLockdownBrowse et AlwaysInstallElevated .

Notez que cette fonction ajoute simplement la nouvelle source à la liste des sources valides. Si une autre source a été utilisée pour installer le produit, la nouvelle source n’est pas utilisée tant que la source actuelle n’est pas disponible.

Il incombe à l’appelant de s’assurer que la source fournie est une image source valide pour le produit.

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 dans l’état 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 MsiSourceListAddSource 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

   
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

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

Contexte d’installation

LookupAccountName

ProductCode

SOURCELIST

Résilience de la source