Partager via


MsiAdvertiseScriptW, fonction (msi.h)

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

Syntaxe

UINT MsiAdvertiseScriptW(
  [in] LPCWSTR szScriptFile,
  [in] DWORD   dwFlags,
  [in] PHKEY   phRegData,
  [in] BOOL    fRemoveItems
);

Paramètres

[in] szScriptFile

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

[in] dwFlags

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

Indicateur 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 doit être affecté à 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 sont évalués entre les installations par utilisateur et par ordinateur 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 les informations de publication dans le Registre relatives aux classes COM doivent être écrites ou supprimées.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Incluez cet indicateur si les informations de publication dans le registre liées à 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 les informations temporaires sur les données du Registre doivent être écrites. Si ce paramètre est null, les données du Registre sont placées sous la clé appropriée, selon que la publicité est par utilisateur ou par machine. Si ce paramètre n’est pas null, le script écrit les données du 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 pour l’utilisateur.

Notez que cette clé de Registre ne peut pas être utilisée lors de la génération d’une publicité 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 les informations de configuration de l’interpréteur de commandes, de la classe et des .msi, et elle n’est pas sous HKEY_CLASSES_ROOT. Cette clé de Registre est uniquement destinée à obtenir des informations temporaires sur les données du 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 retournée

Valeur Signification
ERROR_SUCCESS
La fonction s’est terminée avec succès.
ERROR_ACCESS_DENIED
Le processus d’appel n’était pas en cours d’exécution sous le compte LocalSystem.
Erreur liée à une action
Consultez Codes d’erreur.
Erreur d’initialisation
Une erreur relative à l’initialisation s’est produite.
ERROR_CALL_NOT_IMPLEMENTED
Cette fonction n’est disponible que 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 une 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.

Notes

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

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

Contexte d’installation