Comment créer une source de journal d'événements à l'aide de WiX
-
09-06-2019 - |
Question
Je crée un programme d'installation pour un site Web qui utilise une source de journal d'événements personnalisée.J'aimerais que notre programme d'installation basé sur WiX crée cette source de journal des événements lors de l'installation.
Quelqu'un connaît-il la meilleure façon de procéder en utilisant le framework WiX.
La solution
Wix propose une prise en charge prête à l'emploi pour la création de sources de journaux d'événements.
En supposant que vous utilisez Wix 3, vous devez d'abord ajouter une référence à WixUtilExtension à votre projet Votive ou à la ligne de commande.Vous pouvez ensuite ajouter un élément EventSource sous un composant :
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Component ...>
...
<util:EventSource Log="Application" Name="*source name*"
EventMessageFile="*path to message file*"/>
...
</Component>
S'il s'agit d'un projet .NET, vous pouvez utiliser EventLogMessages.dll dans le répertoire framework comme fichier de messages.
Autres conseils
Juste pour faire gagner du temps aux gens - si vous essayez d'utiliser le journal des applications et les messages .NET, vous pouvez couper et coller le code ci-dessous :
<Util:EventSource
xmlns:Util="http://schemas.microsoft.com/wix/UtilExtension"
Name="ROOT Builder"
Log="Application"
EventMessageFile="%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll"
/>
NOTE:le chemin ci-dessus est maintenant correct.
Que diriez-vous des éléments plus flexibles intégrés :
EventMessageFile="[NETFRAMEWORK20INSTALLROOTDIR]EventLogMessages.dll"
ou
EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll"
Et
EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR64]EventLogMessages.dll"