MsiOpenPackageExA, fonction (msi.h)
La fonction MsiOpenPackageEx ouvre un package à utiliser avec des fonctions qui accèdent à la base de données de produit. La fonction MsiCloseHandle doit être appelée avec le handle lorsque le handle n’est plus nécessaire.
Syntaxe
UINT MsiOpenPackageExA(
[in] LPCSTR szPackagePath,
[in] DWORD dwOptions,
[out] MSIHANDLE *hProduct
);
Paramètres
[in] szPackagePath
Chemin d’accès au package.
[in] dwOptions
Indicateurs de bits pour indiquer s’il faut ignorer ou non l’état de l’ordinateur. Transmettez 0 (zéro) pour utiliser comportement de msiOpenPackage.
Constant | Signification |
---|---|
|
Ignorez l’état de l’ordinateur lors de la création du handle de produit. |
[out] hProduct
Pointeur vers une variable qui reçoit le handle de produit.
Valeur de retour
Valeur | Signification |
---|---|
|
Les informations de configuration sont endommagées. |
|
Impossible d’ouvrir le produit. |
|
Windows Installer n’autorise pas l’installation à partir d’une connexion Bureau à distance. |
|
Un paramètre non valide est passé à la fonction. |
|
La fonction s’exécute correctement. |
Si cette fonction échoue, elle peut retourner un code d’erreur système. Pour plus d’informations, consultez codes d’erreur système.
Remarques
Pour créer un handle de produit restreint indépendant de l’état actuel de l’ordinateur et incapable de modifier l’état actuel de l’ordinateur, utilisez MsiOpenPackageEx avec MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE défini dans dwOptions.
Notez que si dwOptions est MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE ou 1, MsiOpenPackageEx ignore l’état actuel de l’ordinateur lors de la création du handle de produit. Si la valeur de dwOptions est 0, MsiOpenPackageEx est identique à MsiOpenPackage et crée un handle de produit qui dépend du package spécifié par szPackagePath est déjà installé sur l’ordinateur.
Le handle restreint créé à l’aide de MsiOpenPackageEx avec MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE autorise uniquement l’exécution de dialogues, un sous-ensemble des actions standard et des actions personnalisées qui définissent des propriétés (type d’action personnalisé 35, type d’action personnalisé 51et type d’action personnalisée 19). Le handle restreint empêche l’utilisation d’actions personnalisées qui exécutent des bibliothèques Dynamic-Link, des fichiers exécutables ou des scripts .
Vous pouvez appeler msiDoAction sur les actions standard suivantes à l’aide du handle restreint. Toutes les autres actions retournent ERROR_FUNCTION_NOT_CALLED si elles sont appelées avec le handle restreint.
- ADMIN
- PUBLIER
- INSTALLER
- SEQUENCE
- 'action AppSearch
- CCPSearch
- CostFinalize
- CostInitialize
- FileCost
- FindRelatedProducts
- action IsolateComponents
- LaunchConditions
- MigrateFeatureStates
- ResolveSource
- RMCCPSearch
- validateProductID
Note
L’en-tête msi.h définit MsiOpenPackageEx 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. Windows Installer sur Windows Server 2003 ou Windows XP. 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 |