MsiAdvertiseScriptA, fonction (msi.h)

La fonction MsiAdvertiseScript copie un fichier de script publié dans les emplacements spécifiés.

Syntaxe

UINT MsiAdvertiseScriptA(
  [in] LPCSTR szScriptFile,
  [in] DWORD  dwFlags,
  [in] PHKEY  phRegData,
  [in] BOOL   fRemoveItems
);

Paramètres

[in] szScriptFile

Chemin complet d’un fichier de script généré par MsiAdvertiseProduct ou MsiAdvertiseProductEx.

[in] dwFlags

Indicateurs de bits suivants de la publication de contrôle SCRIPTFLAGS. La valeur de dwFlags peut être une combinaison des valeurs suivantes.

Drapeau Signification
SCRIPTFLAGS_CACHEINFO
0x001
Incluez cet indicateur si les icônes doivent être créées ou supprimées.
SCRIPTFLAGS_SHORTCUTS
0x004
Incluez cet indicateur si les raccourcis doivent être créés ou supprimés.
SCRIPTFLAGS_MACHINEASSIGN
0x008
Incluez cet indicateur si le produit à affecter à un ordinateur.
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
Incluez cet indicateur si les informations de configuration et de gestion dans les données du Registre doivent être écrites ou supprimées.
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
Incluez cet indicateur pour forcer la validation des transformations répertoriées dans le script par rapport aux transformations précédemment inscrites pour ce produit. Notez que les conflits de transformation sont détectés à l’aide d’une comparaison de chaînes qui ne respecte pas la casse et qui sont évalués entre les installations par utilisateur et par machine dans tous les contextes. Si la liste des transformations dans le script ne correspond pas aux transformations inscrites pour le produit, la fonction retourne ERROR_INSTALL_TRANSFORM_FAILURE.
SCRIPTFLAGS_REGDATA_CLASSINFO
0x080
Incluez cet indicateur si des informations publicitaires dans le Registre relatives aux classes COM doivent être écrites ou supprimées.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Incluez cet indicateur si des informations publicitaires dans le Registre relatives à une extension doivent être écrites ou supprimées.
SCRIPTFLAGS_REGDATA_APPINFO
0x180
Incluez cet indicateur si les informations de publication dans le Registre doivent être écrites ou supprimées.
SCRIPTFLAGS_REGDATA
0x1A0
Incluez cet indicateur si les informations de publication dans le Registre doivent être écrites ou supprimées.

[in] phRegData

Clé de Registre sous laquelle des informations temporaires sur les données de Registre doivent être écrites. Si ce paramètre est null, les données de Registre sont placées sous la clé appropriée, selon que la publicité est par utilisateur ou par ordinateur. Si ce paramètre n’est pas null, le script écrit les données de Registre sous la clé de Registre spécifiée plutôt que l’emplacement normal. Dans ce cas, l’application n’est pas annoncée à l’utilisateur.

Notez que cette clé de Registre ne peut pas être utilisée lors de la génération d’une publication d’un produit pour un utilisateur ou un ordinateur, car le fournisseur de la clé de Registre supprime généralement la clé. La clé de Registre se trouve en dehors des emplacements de Registre normaux pour l’interpréteur de commandes, la classe et les informations de configuration .msi et elle n’est pas sous HKEY_CLASSES_ROOT. Cette clé de Registre est destinée uniquement à obtenir des informations temporaires sur les données de Registre dans un script.

[in] fRemoveItems

TRUE si les éléments spécifiés doivent être supprimés au lieu d’être créés.

Valeur de retour

Valeur Signification
ERROR_SUCCESS
La fonction s’est terminée correctement.
ERROR_ACCESS_DENIED
Le processus appelant n’était pas en cours d’exécution sous le compte LocalSystem.
Une erreur liée à une action
Consultez codes d’erreur.
erreur d’initialisation
Une erreur liée à l’initialisation s’est produite.
ERROR_CALL_NOT_IMPLEMENTED
Cette fonction est disponible uniquement sur Windows 2000 et Windows XP.
 
 

Remarques

Le processus appelant cette fonction doit s’exécuter sous le compte LocalSystem. Pour publier une application pour l’installation par utilisateur auprès d’un utilisateur ciblé, le thread qui appelle cette fonction doit emprunter l’identité de l’utilisateur ciblé. Si le thread appelant cette fonction n’emprunte pas l’identité d’un utilisateur ciblé, l’application est annoncée à tous les utilisateurs pour l’installation avec des privilèges élevés.

Note

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

Voir aussi

contexte d’installation