Méthode IMsmMerge::OpenModule (mergemod.h)
La méthode OpenModule ouvre un module de fusion Windows Installer en mode lecture seule. Un module doit être ouvert avant de pouvoir être fusionné avec une base de données d’installation. Pour plus d’informations, consultez la méthode OpenModule de l’objet Merge .
IMsmMerge2::OpenModule Mergemod.dll version 2.0 et ultérieures.
Syntaxe
HRESULT OpenModule(
[in] const BSTR Path,
[in] const short Language
);
Paramètres
[in] Path
Nom de fichier complet qui pointe vers un module de fusion. Un LPCWSTR peut être utilisé à la place d’un BSTR.
[in] Language
Un identificateur de langue (LANGID).
Valeur retournée
La fonction OpenModule retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
Le fichier spécifié est une base de données Windows Installer, mais n’est pas un module de fusion ( table ModuleSignature manquante). |
|
La langue n’est pas prise en charge par le module. |
|
La langue est prise en charge par le module, mais une erreur s’est produite lors de l’application de la transformation. |
|
Impossible d’ouvrir le fichier en tant que base de données Windows Installer. |
|
Un module est déjà ouvert. Ferme d’abord le module actuel. |
|
La fonction a réussi. |
Notes
Cette fonction ouvre le module de fusion en mode lecture seule (MSIDBOPEN_READONLY) et exclut les autres programmes de l’écriture dans le module de fusion jusqu’à ce que la fonction CloseModule soit appelée. Un module de fusion doit être ouvert avant de pouvoir être fusionné.
Le programme d’installation tente d’ouvrir le module dans la langue spécifiée par Language ou dans une langue plus générale. Par exemple, si 1033 est spécifié par la valeur Language , un module avec une langue par défaut 1033, 9 ou 0 est ouvert dans sa langue par défaut. La valeur Language 9 ouvre les modules dont la langue par défaut est 9 ou 0. Si la langue par défaut du module ne répond pas aux exigences spécifiées, une tentative est effectuée pour transformer le module en la langue demandée. En cas d’échec, le programme d’installation tente de transformer le module en langues de plus en plus générales, jusqu’à la langue neutre. Si aucune des transformations ne réussit, le module ne s’ouvre pas. Dans ce cas, une erreur est ajoutée à la liste d’erreurs de type msmErrorLanguageUnsupported et la fonction retourne ERROR_INSTALL_LANGUAGE_UNSUPPORTED en tant que HRESULT.
En cas d’erreur lors de la transformation du module dans la langue souhaitée, une erreur est créée de type msmErrorLanguageFailed et la fonction retourne ERROR_INSTALL_TRANSFORM_FAILURE en tant que HRESULT.
Pour plus d’informations, consultez la propriété Type de l’objet Error .
L’ouverture d’un module de fusion efface toutes les erreurs qui n’ont pas déjà été récupérées.
Spécifications
Client minimal pris en charge | Mergemod.dll 1.0 ou version ultérieure |
Plateforme cible | Windows |
En-tête | mergemod.h |
DLL | Mergemod.dll |