MsiSourceListAddSourceExW, fonction (msi.h)
La fonction MsiSourceListAddSourceEx ajoute ou réorganise l’ensemble de sources d’un correctif ou d’un produit dans un contexte spécifié. Il peut également créer une liste de sources pour un correctif qui n’existe pas dans le contexte spécifié.
Syntaxe
UINT MsiSourceListAddSourceExW(
[in] LPCWSTR szProductCodeOrPatchCode,
[in, optional] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCWSTR szSource,
[in, optional] DWORD dwIndex
);
Paramètres
[in] szProductCodeOrPatchCode
ProductCode ou GUID de correctif du produit ou du correctif. Utilisez une chaîne terminée par null. Si la chaîne contient plus de 39 caractères, la fonction échoue et retourne ERROR_INVALID_PARAMETER. Ce paramètre ne peut pas avoir la valeur NULL.
[in, optional] szUserSid
Ce paramètre peut être un SID de chaîne qui spécifie le compte d’utilisateur qui contient le produit ou le correctif. Le SID n’est pas validé ou résolu. Un SID incorrect peut retourner ERROR_UNKNOWN_PRODUCT ou ERROR_UNKNOWN_PATCH. Lors du référencement d’un contexte d’ordinateur, szUserSID doit avoir la valeur NULL et dwContext doit être MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Ce paramètre spécifie le contexte du produit ou du correctif instance. Ce paramètre peut contenir l’une des valeurs suivantes.
[in] dwOptions
La valeur dwOptions détermine l’interprétation de la valeur szProductCodeOrPatchCode et le type de sources à effacer. Ce paramètre doit être une combinaison de l’une des constantes MSISOURCETYPE_ suivantes et de l’une des constantes MSICODE_ suivantes.
[in] szSource
Source à ajouter ou à déplacer. Ce paramètre doit contenir uniquement le chemin d’accès sans nom de fichier. Le nom de fichier est déjà inscrit en tant que « PackageName » et peut être manipulé via MsiSourceListSetInfo. Cet argument est obligatoire.
[in, optional] dwIndex
Ce paramètre fournit le nouvel index pour la source. Toutes les sources sont indexées dans la liste des sources comprises entre 1 et N, où N est le nombre de sources dans la liste. Chaque source de la liste a un index unique.
Si MsiSourceListAddSourceEx est appelé avec une nouvelle source et que dwIndex est défini sur 0 (zéro), la nouvelle source est ajoutée à la liste existante. Si dwIndex a la valeur 0 et que la source existe déjà dans la liste, aucune mise à jour n’est effectuée sur la liste.
Si MsiSourceListAddSourceEx est appelé avec une nouvelle source et que dwIndex est défini sur une valeur différente de zéro inférieure à nombre (N), la nouvelle source est placée à l’index spécifié et les autres sources sont réindexées. Si la source existe déjà, elle est déplacée vers l’index spécifié et les autres sources sont réindexées.
Si MsiSourceListAddSourceEx est appelé avec une nouvelle source et si dwIndex est défini sur une valeur différente de zéro supérieure au nombre de sources (N), la nouvelle source est ajoutée à la liste existante. Si la source existe déjà, elle est déplacée vers la fin de la liste et les autres sources sont réindexées.
Valeur retournée
La fonction MsiSourceListAddSourceEx retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
L’utilisateur n’a pas la possibilité d’ajouter ou de déplacer une source. N’indique pas si le produit ou le correctif a été trouvé. |
|
Les données de configuration sont endommagées. |
|
Impossible d’accéder au service Windows Installer. |
|
La source a été insérée ou mise à jour. |
|
Le produit spécifié est inconnu. |
|
Le correctif spécifié est inconnu. |
|
Défaillance interne inattendue. |
Remarques
Les administrateurs peuvent modifier l’installation d’un produit ou d’un correctif instance qui existe sous le contexte de l’ordinateur ou sous leur propre contexte par utilisateur (managé ou non managé). Ils peuvent modifier l’installation d’un produit ou d’un correctif instance qui existe dans le contexte géré par utilisateur de n’importe quel utilisateur. Les administrateurs ne peuvent pas modifier l’installation d’un autre utilisateur d’un produit ou d’un correctif instance qui existe sous le contexte non managé de cet autre utilisateur.
Les non-administrateurs ne peuvent pas modifier l’installation d’un produit ou d’un correctif instance qui existe dans le contexte par utilisateur d’un autre utilisateur (managé ou non managé). Ils peuvent modifier l’installation d’un produit ou d’un correctif instance qui existe dans leur propre contexte non managé par utilisateur. Ils peuvent modifier l’installation d’un produit ou d’un correctif instance dans le contexte de l’ordinateur ou leur propre contexte géré par utilisateur uniquement s’ils sont autorisés à rechercher une source de produit ou de correctif. 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 .
Notes
L’en-tête msi.h définit MsiSourceListAddSourceEx 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. 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 |