Rafał – jeden z moich czytelników opisał ciekawy problem, na który natrafił: chciał stworzyć źródło do logowania w windowsowym systemie zdarzeń.
Napisał więc coś takiego:
<Directory Id="INSTALLLOCATION" Name="WixCreateLogSpike"> <Component Id="C_EventLog" Guid="1405e434-acf9-47d7-818f-682934e65c5a" > <util:EventSource Log="Application" Name="MyLog" EventMessageFile="[NETFRAMEWORK20INSTALLROOTDIR]EventLogMessages.dll" /> </Component> </Directory>
Podczas próby budowania pojawił się błąd:
ICE18: KeyPath for Component: ‘C_EventLog’ is Directory: ‘INSTALLLOCATION’. The Directory/Component pair must be listed in the CreateFolders table.
Kluczowe jest tutaj zastosowanie elementu Directory bez treści w elemencie Component do której można się odwoływać(w postaci pliku, rejestru systemowego, itp). W takim wypadku trzeba Component uzupełnić o CreateFolder – zostanie stworzony folder. Gdyby w komponencie był np. element File można by zrezygnować z CreateFolder.
Bartek Szafko ? WiX: Tworzenie logów…
Dziękujemy za publikację – Trackback z dotnetomaniak.pl…