MsiGetProductInfoA, fonction (msi.h)

La fonction MsiGetProductInfo retourne des informations sur les produits publiés et installés.

Syntaxe

UINT MsiGetProductInfoA(
  [in]      LPCSTR  szProduct,
  [in]      LPCSTR  szAttribute,
  [out]     LPSTR   lpValueBuf,
  [in, out] LPDWORD pcchValueBuf
);

Paramètres

[in] szProduct

Spécifie le code de produit pour le produit.

[in] szAttribute

Spécifie la propriété à récupérer.

Les propriétés obligatoires sont garanties d’être disponibles, mais d’autres propriétés ne sont disponibles que si cette propriété est définie. Pour plus d'informations, consultez Propriétés. Les propriétés de la liste suivante peuvent être récupérées uniquement à partir d’applications installées.

Propriété Signification
INSTALLPROPERTY_HELPLINK
Lien de support. Pour plus d’informations, consultez la propriété ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Numéro de téléphone du support. Pour plus d’informations, consultez la propriété ARPHELPTELEPHONE.
INSTALLPROPERTY_INSTALLDATE
Dernière fois que ce produit a fait l’objet d’une maintenance. La valeur de cette propriété est remplacée chaque fois qu’un correctif est appliqué ou supprimé du produit ou que l’option de ligne de commande /v est utilisée pour réparer le produit. Si le produit n’a reçu aucune réparation ni aucun correctif, cette propriété contient l’heure à laquelle il a été installé sur cet ordinateur.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Langue installée.

Windows Installer 4.5 et versions antérieures : Non pris en charge.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Nom du produit installé. Pour plus d’informations, consultez la propriété ProductName.
INSTALLPROPERTY_INSTALLLOCATION
Emplacement d’installation. Pour plus d’informations, consultez la propriété ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Source de l’installation. Pour plus d’informations, consultez la propriété SourceDir.
INSTALLPROPERTY_LOCALPACKAGE
Package mis en cache local.
INSTALLPROPERTY_PUBLISHER
Publisher. Pour plus d’informations, consultez la propriété Manufacturer.
INSTALLPROPERTY_URLINFOABOUT
Informations relatives à l’URL. Pour plus d’informations, consultez la propriété ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
Informations de mise à jour d’URL. Pour plus d’informations, consultez la propriété ARPURLUPDATEINFO.
INSTALLPROPERTY_VERSIONMINOR
Version de produit mineure dérivée de la propriété ProductVersion.
INSTALLPROPERTY_VERSIONMAJOR
Version de produit majeure dérivée de la propriété ProductVersion.
INSTALLPROPERTY_VERSIONSTRING
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 la société inscrite à partir des applications installées, définissez szProperty sur l’une des valeurs de chaîne de texte suivantes.

Valeur Description
ProductID Identificateur de produit pour le produit. Pour plus d’informations, consultez la propriété ProductID.
RegCompany L’entreprise inscrite pour utiliser ce produit.
RegOwner Le propriétaire inscrit pour utiliser ce produit.
 

Pour récupérer le type 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 égale à 0 (zéro) indique une installation de produit normale. La valeur 1 (un) indique un produit installé à l’aide d’une transformation de plusieurs instance et de la propriété MSINEWINSTANCE. Disponible avec le programme d’installation exécutant Windows Server 2003 ou Windows XP avec SP1. Pour plus d’informations, consultez la section Installation de plusieurs instances de produits et de correctifs.
 

Les propriétés publiées dans la liste suivante peuvent être récupérées à partir d’applications publiées ou installées.

Propriété Description
INSTALLPROPERTY_TRANSFORMS Transformations :
INSTALLPROPERTY_LANGUAGE Langue du produit.
INSTALLPROPERTY_PRODUCTNAME Nom du produit lisible par l’utilisateur. 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 à 1 (un) si le produit est publié ou installé par machine pour tous les utilisateurs.

INSTALLPROPERTY_PACKAGECODE Identificateur du package à partir duquel ce produit a été installé. Pour plus d’informations, consultez 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 Une valeur de un (1) indique un produit qui peut être utilisé par des non-administrateurs à l’aide de la mise à jour corrective du contrôle de compte d’utilisateur (UAC). Une valeur manquante ou égale à 0 (zéro) indique que la mise à jour corrective des privilèges minimum n’est pas activée. Disponible dans Windows Installer 3.0 ou versions ultérieures.

[out] lpValueBuf

Pointeur vers une mémoire tampon qui reçoit la valeur de propriété. Ce paramètre peut avoir la valeur Null.

[in, out] pcchValueBuf

Pointeur vers une variable qui spécifie la taille, en caractères, de la mémoire tampon vers laquelle pointe le paramètre lpValueBuf . Lors de l’entrée, il s’agit de la taille complète de la mémoire tampon, y compris un espace pour un caractère null de fin. Si la mémoire tampon passée est trop petite, le nombre retourné n’inclut pas le caractère null de fin.

Si lpValueBuf a la valeur null, pcchValueBuf peut être null. Dans ce cas, la fonction vérifie que la propriété est correctement inscrite auprès du produit.

Valeur retournée

Valeur Signification
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction.
ERROR_MORE_DATA
Une mémoire tampon est trop petite pour contenir les données demandées.
ERROR_SUCCESS
La fonction s’est terminée avec succès.
ERROR_UNKNOWN_PRODUCT
Le produit n’est pas déconseillé ou désinstallé.
ERROR_UNKNOWN_PROPERTY
La propriété n’est pas reconnue.
Note La fonction MsiGetProductInfo retourne ERROR_UNKNOWN_PROPERTY si l’application interrogée est annoncée et non installée.
 

Remarques

Lorsque la fonction MsiGetProductInfo retourne, le paramètre pcchValueBuf 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 suffisamment grande, MsiGetProductInfo retourne ERROR_MORE_DATA et pcchValueBuf contient la taille de la chaîne, en caractères, sans compter le caractère null.

MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) ne retourne pas nécessairement de chemin d’accès au package mis en cache. Le package mis en cache est destiné à un usage interne uniquement. Les installations en mode maintenance doivent être appelées via les fonctions MsiConfigureFeature, MsiConfigureProduct ou MsiConfigureProductEx .

Si vous essayez d’utiliser MsiGetProductInfo pour interroger un produit publié pour une propriété disponible uniquement pour les produits installés, la fonction retourne ERROR_UNKNOWN_PROPERTY. Par exemple, si l’application est annoncée et non installée, une requête pour la propriété INSTALLPROPERTY_INSTALLLOCATION retourne une erreur de ERROR_UNKNOWN_PROPERTY.

Notes

L’en-tête msi.h définit MsiGetProductInfo en tant qu’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. La combinaison 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

Détermination du contexte d’installation

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

Fonctions d’état du système