Как создать источник журнала событий с помощью WiX


Я создаю установщик для веб-сайта, который использует пользовательский источник журнала событий. Я хотел бы, чтобы наш установщик на основе WiX создал этот источник журнала событий во время установки.

Знает ли кто-нибудь лучший способ сделать это с помощью платформы WiX.

3 58

3 ответа:

Wix имеет готовую поддержку для создания источников журнала событий.

Предполагая, что вы используете Wix 3, вам сначала нужно добавить ссылку на WixUtilExtension либо в ваш проект Votive, либо в командную строку. Затем можно добавить элемент EventSource под компонентом:

<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>

Если это проект .NET, можно использовать EventLogMessages.DLL в директории Framework, как файл сообщение.

Просто чтобы сэкономить людям немного времени - если вы пытаетесь использовать журнал приложений и сообщения .NET, вы можете вырезать вставить следующий код:

<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"
/>

Примечание: путь выше теперь правильный..

Как насчет более гибкого материала, встроенного в:

EventMessageFile="[NETFRAMEWORK20INSTALLROOTDIR]EventLogMessages.dll"

Или

EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll"

И

EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR64]EventLogMessages.dll"