¿Cómo se crea una fuente de registro de eventos usando WiX?
-
09-06-2019 - |
Pregunta
Estoy creando un instalador para un sitio web que utiliza una fuente de registro de eventos personalizada.Me gustaría que nuestro instalador basado en WiX creara esa fuente de registro de eventos durante la instalación.
¿Alguien sabe cuál es la mejor manera de hacer esto usando el marco WiX?
Solución
Wix tiene soporte listo para usar para crear fuentes de registro de eventos.
Suponiendo que usas Wix 3, primero debes agregar una referencia a WixUtilExtension a tu proyecto Votive o a la línea de comando.Luego puede agregar un elemento EventSource debajo de un componente:
<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>
Si se trata de un proyecto .NET, puede utilizar EventLogMessages.dll en el directorio del marco como archivo de mensajes.
Otros consejos
Solo para ahorrarle tiempo a la gente: si está intentando utilizar el registro de la aplicación y los mensajes .NET, puede cortar y pegar el siguiente código:
<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"
/>
NOTA:La ruta anterior ahora es correcta.
¿Qué tal las cosas más flexibles integradas?
EventMessageFile="[NETFRAMEWORK20INSTALLROOTDIR]EventLogMessages.dll"
o
EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll"
Y
EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR64]EventLogMessages.dll"