MsiSourceListSetInfoA, fonction (msi.h)

La fonction MsiSourceListSetInfo définit des informations sur la liste des sources d’un produit ou d’un correctif dans un contexte spécifique.

Syntaxe

UINT MsiSourceListSetInfoA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szProperty,
  [in]           LPCSTR            szValue
);

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.

Type de SID Signification
NULL
NULL désigne l’utilisateur actuellement connecté. Lors du référencement du compte d’utilisateur actuel, szUserSID peut être NULL et dwContext peut être MSIINSTALLCONTEXT_USERMANAGED ou MSIINSTALLCONTEXT_USERUNMANAGED.
SID de l’utilisateur
Spécifie l’énumération d’un utilisateur particulier dans le système. Un exemple de SID utilisateur est « S-1-3-64-2415071341-1358098788-3127455600-2561 ».
 
Note La chaîne SID spéciale « S-1-5-18 » (système) ne peut pas être utilisée pour énumérer les produits ou les correctifs installés en tant que par machine. La définition de la valeur SID sur « S-1-5-18 » renvoie « ERROR_INVALID_PARAMETER ».
 
Note La chaîne SID spéciale « S-1-1-0 » (tout le monde) ne doit pas être utilisée. La définition de la valeur SID sur « S-1-1-0 » échoue et retourne ERROR_INVALID_PARAM.
 

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

Type de contexte Signification
MSIINSTALLCONTEXT_USERMANAGED
Le produit ou le correctif instance existe dans le contexte géré par utilisateur.
MSIINSTALLCONTEXT_USERUNMANAGED
Le produit ou le correctif instance existe dans le contexte non managé par utilisateur.
MSIINSTALLCONTEXT_MACHINE
Le produit ou le correctif instance existe dans le contexte par machine.

[in] dwOptions

La valeur dwOptions spécifie la signification de szProductCodeOrPatchCode.

Si la propriété définie est « LastUsedSource », ce paramètre spécifie également le type de source en tant que réseau ou URL. Dans ce cas, le paramètre dwOptions doit être une combinaison de l’une des constantes MSISOURCETYPE_ suivantes et de l’une des constantes MSICODE_ suivantes.

Indicateur Signification
MSISOURCETYPE_NETWORK
La source est un type de réseau.
MSISOURCETYPE_URL
La source est un type d’URL.
MSICODE_PRODUCT
szProductCodeOrPatchCode est un GUID de code produit.
MSICODE_PATCH
szProductCodeOrPatchCode est un GUID de code correctif.

[in] szProperty

Le paramètre szProperty indique la valeur de propriété à définir. Toutes les propriétés qui peuvent être récupérées via MsiSourceListGetInfo ne peuvent pas toutes être définies via un appel à MsiSourceListSetInfo. La valeur szProperty peut être l’une des valeurs suivantes.

Nom Signification
INSTALLPROPERTY_MEDIAPACKAGEPATH
« MediaPackagePath »
Chemin d’accès relatif à la racine du support d’installation.
INSTALLPROPERTY_DISKPROMPT
« DiskPrompt »
Modèle d’invite utilisé pour inviter l’utilisateur à utiliser le support d’installation.
INSTALLPROPERTY_LASTUSEDSOURCE
« LastUsedSource »
Emplacement source le plus récemment utilisé pour le produit. Si la source n’est pas inscrite, la fonction appelle MsiSourceListAddSourceEx pour l’inscrire. Une fois l’inscription réussie, la fonction définit la source comme LastUsedSource.
INSTALLPROPERTY_PACKAGENAME
« PackageName »
Nom du package Windows Installer ou du package de correctifs de la source.

[in] szValue

Nouvelle valeur de la propriété. Aucune validation de la nouvelle valeur n’est effectuée. Cette valeur ne peut pas être NULL. Il peut s’agir d’une chaîne vide.

Valeur retournée

La fonction MsiSourceListSetInfo retourne les valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
L’utilisateur n’a pas la possibilité de définir la liste des sources pour le produit spécifié.
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_INSTALL_SERVICE_FAILURE
Impossible d’accéder au service Windows Installer.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction.
ERROR_SUCCESS
La propriété a été définie.
ERROR_UNKNOWN_PATCH
Le correctif est introuvable.
ERROR_UNKNOWN_PRODUCT
Le produit est introuvable.
ERROR_UNKNOWN_PROPERTY
La propriété source est introuvable.
ERROR_FUNCTION_FAILED
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 .

Une exception à la règle ci-dessus consiste à définir « LastUsedSource » sur l’une des sources inscrites. Si la source est déjà inscrite, un non-administrateur peut définir « LastUsedSource » sur ses propres installations (managées ou non) et par machine, quelles que soient les stratégies.

Notes

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

Voir aussi

Contexte d’installation

MsiSourceListGetInfo

Non pris en charge par Windows Installer 2.0 et antérieur

ProductCode