Как создать источник журнала событий с помощью WiX - PullRequest
58 голосов
/ 12 сентября 2008

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

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

Ответы [ 3 ]

54 голосов
/ 12 сентября 2008

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 в качестве файла сообщения.

18 голосов
/ 22 февраля 2009

Просто чтобы сэкономить время людям - если вы пытаетесь использовать журнал приложений и сообщения .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"
/>

ПРИМЕЧАНИЕ: путь выше теперь правильный.

16 голосов
/ 17 февраля 2011

Как насчет встроенных более гибких вещей:

EventMessageFile="[NETFRAMEWORK20INSTALLROOTDIR]EventLogMessages.dll"

или

EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR]EventLogMessages.dll"

А

EventMessageFile="[NETFRAMEWORK40FULLINSTALLROOTDIR64]EventLogMessages.dll"
...