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 d’accès complet à un fichier de script généré par MsiAdvertiseProduct ou MsiAdvertiseProductEx.

[in] dwFlags

Les indicateurs de bits suivants de SCRIPTFLAGS contrôlent la publication. 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 du 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 a la valeur Null, les données du Registre sont placées sous la clé appropriée, selon que la publication 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 à 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 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 appelant 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 est disponible uniquement sur Windows 2000 et Windows XP.
 
 

Notes

Le processus appelant cette fonction doit s’exécuter sous le compte LocalSystem. Pour publier une application pour une installation par utilisateur à 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 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.

Spécifications

   
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