MsiGetProductInfoExA, fonction (msi.h)
La fonction MsiGetProductInfoEx retourne des informations sur le produit pour les produits publiés et installés. Cette fonction peut récupérer des informations
à propos d’une instance d’un produit installé sous un compte d’utilisateur autre que l’utilisateur actuel.
Le processus appelant doit disposer de privilèges d’administration pour un utilisateur différent de l’utilisateur actuel. La fonction MsiGetProductInfoEx ne peut pas interroger une instance d’un produit publié dans un contexte non managé par utilisateur pour un compte d’utilisateur autre que l’utilisateur actuel.
Cette fonction est une extension de la fonction MsiGetProductInfo.
Syntaxe
UINT MsiGetProductInfoExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Paramètres
[in] szProductCode
Le ProductCode GUID de l’instance de produit interrogée.
[in] szUserSid
Identificateur de sécurité (SID) du compte sous lequel l’instance du produit interrogé existe. Une NULL spécifie le SID d’utilisateur actuel.
[in] dwContext
Contexte d’installation de l’instance de produit interrogée.
[in] szProperty
Propriété interrogée.
Propriété à récupérer. Les propriétés du tableau suivant ne peuvent être récupérées qu’à partir d’applications déjà installées. Toutes les propriétés requises sont garanties d’être disponibles, mais d’autres propriétés sont disponibles uniquement si la propriété est définie. Pour plus d’informations, consultez
Propriétés requises et propriétés .
Propriété | Signification |
---|---|
|
État du produit retourné sous forme de chaîne « 1 » pour la publication et « 5 » pour installé. |
|
Lien de support. Pour plus d’informations, consultez la propriété ARPHELPLINK |
|
Téléphone de support. Pour plus d’informations, consultez la propriété ARPHELPTELEPHONE. |
|
La dernière fois que ce produit a reçu le service. La valeur de cette propriété est remplacée chaque fois qu’un correctif est appliqué ou supprimé du produit ou que /v Command-Line Option est utilisé pour réparer le produit. Si le produit n’a reçu aucune réparation ni correctif, cette propriété contient le moment où ce produit a été installé sur cet ordinateur. |
|
Langue installée.
Windows Installer 4.5 et versions antérieures: Non pris en charge. |
|
Nom du produit installé. Pour plus d’informations, consultez la propriété ProductName. |
|
Emplacement d’installation. Pour plus d’informations, consultez la propriété ARPINSTALLLOCATION. |
|
Source d’installation. Pour plus d’informations, consultez la propriété SourceDir. |
|
Package mis en cache local. |
|
Éditeur. Pour plus d’informations, consultez la propriété Manufacturer. |
|
Informations d’URL. Pour plus d’informations, consultez la propriété ARPURLINFOABOUT |
|
Informations de mise à jour d’URL. Pour plus d’informations, consultez la propriété ARPURLUPDATEINFO. |
|
Version mineure du produit dérivée de la propriété ProductVersion. |
|
Version principale du produit dérivée de la propriété ProductVersion. |
|
Version du produit. Pour plus d’informations, consultez la propriété ProductVersion. |
Pour récupérer l’ID de produit, le propriétaire inscrit ou l’entreprise inscrite à partir d’applications installées, définissez szProperty sur l’une des valeurs de chaîne de texte suivantes.
Valeur | Description |
---|---|
Productid | Identificateur du produit. Pour plus d’informations, consultez la propriété ProductID. |
RegCompany | Société inscrite pour utiliser le produit. |
RegOwner | Propriétaire inscrit pour utiliser le produit. |
Pour récupérer le type d’instance du produit, définissez szProperty sur la valeur suivante. Cette propriété est disponible pour les produits publiés ou installés.
Valeur | Description |
---|---|
InstanceType | Une valeur manquante ou une valeur de 0 (zéro) indique une installation normale du produit. La valeur d’un (1) indique qu’un produit est installé à l’aide d’une transformation à plusieurs instances et de la propriété MSINEWINSTANCE. Pour plus d’informations, consultez Installation de plusieurs instances de produits et de correctifs. |
Les propriétés du tableau suivant peuvent être récupérées à partir d’applications publiées ou installées. Ces propriétés ne peuvent pas être récupérées pour les instances de produit installées sous un contexte non managé par utilisateur pour les comptes d’utilisateur autres que le compte d’utilisateur actuel.
Propriété | Description |
---|---|
INSTALLPROPERTY_TRANSFORMS | Transforme. |
INSTALLPROPERTY_LANGUAGE | Langue du produit. |
INSTALLPROPERTY_PRODUCTNAME | Nom du produit lisible par l’homme. Pour plus d’informations, consultez la propriété ProductName. |
INSTALLPROPERTY_ASSIGNMENTTYPE | Est égal à 0 (zéro) si le produit est publié ou installé par utilisateur.
Est égal à un (1) si le produit est publié ou installé par ordinateur pour tous les utilisateurs. |
INSTALLPROPERTY_PACKAGECODE | Identificateur du package à partir duquel un produit est installé. Pour plus d’informations, consultez la propriété Codes de package. |
INSTALLPROPERTY_VERSION | Version de produit dérivée de la propriété ProductVersion |
INSTALLPROPERTY_PRODUCTICON | Icône principale du package. Pour plus d’informations, consultez la propriété ARPPRODUCTICON |
INSTALLPROPERTY_PACKAGENAME | Nom du package d’installation d’origine. |
INSTALLPROPERTY_AUTHORIZED_LUA_APP | La valeur d’un (1) indique un produit qui peut être utilisé par des non-administrateurs à l’aide d'de mise à jour corrective du contrôle de compte d’utilisateur (UAC). Une valeur manquante ou une valeur de 0 (zéro) indique que la mise à jour corrective avec privilèges minimum n’est pas activée. Disponible dans Windows Installer 3.0 ou version ultérieure. |
[out, optional] szValue
Pointeur vers une mémoire tampon qui reçoit la valeur de la propriété. Cette mémoire tampon doit être suffisamment grande pour contenir les informations. Si la mémoire tampon est trop petite, la fonction retourne ERROR_MORE_DATA et définit *pcchValue au nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin.
Si lpValue est défini sur NULL et pcchValue est défini sur un pointeur valide, la fonction retourne ERROR_SUCCESS et définit *pcchValue le nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin. La fonction peut ensuite être appelée à nouveau pour récupérer la valeur, avec lpValue mémoire tampon suffisamment grande pour contenir *pcchValue + 1 caractères.
Si lpValue et pcchValue sont tous les deux définis sur NULL, la fonction retourne ERROR_SUCCESS si la valeur existe, sans récupérer la valeur.
[in, out, optional] pcchValue
Pointeur vers une variable qui spécifie le nombre de
Ce paramètre peut être défini sur NULL uniquement si lpValue est également NULL. Sinon, la fonction retourne ERROR_INVALID_PARAMETER.
Valeur de retour
La fonction MsiGetProductInfoEx retourne les valeurs suivantes.
Retourner le code | Description |
---|---|
|
Le processus appelant doit disposer de privilèges d’administration pour obtenir des informations pour un produit installé pour un utilisateur autre que l’utilisateur actuel. |
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide est passé à la fonction. |
|
Une mémoire tampon est trop petite pour contenir les données demandées. |
|
La fonction s’est terminée correctement. |
|
Le produit n’est pas déconseillé ou désinstallé. |
|
La propriété n’est pas reconnue.
Remarque La fonction MsiGetProductInfo retourne ERROR_UNKNOWN_PROPERTY si l’application interrogée est annoncée et non installée.
|
|
Une défaillance interne inattendue. |
Remarques
Lorsque la fonction MsiGetProductInfoEx retourne, le paramètre pcchValue contient la longueur de la chaîne stockée dans la mémoire tampon. Le nombre retourné n’inclut pas le caractère null de fin. Si la mémoire tampon n’est pas assez grande, MsiGetProductInfoEx retourne ERROR_MORE_DATA, et le paramètre pcchValue contient la taille de la chaîne, dans TCHAR, sans compter le caractère null.
La fonction MsiGetProductInfoEx (INSTALLPROPERTY_LOCALPACKAGE) retourne un chemin d’accès au package mis en cache. Le package mis en cache est destiné uniquement à une utilisation interne. Les installations en mode maintenance doivent être appelées via les fonctions
La fonction MsiGetProductInfo retourne ERROR_UNKNOWN_PROPERTY si l’application interrogée est annoncée et non installée. Par exemple, si l’application est annoncée et non installée, une requête pour INSTALLPROPERTY_INSTALLLOCATION retourne une erreur de ERROR_UNKNOWN_PROPERTY.
Note
L’en-tête msi.h définit MsiGetProductInfoEx 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. 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
non pris en charge dans Windows Installer 2.0 et versions antérieures