Я использую WiX (3.0.3815.0) в довольно большом проекте. Я хочу выполнить генерацию кода, которая будет генерировать элементы Error из какого-либо источника (цель: и CA, скомпилированные C, и MSI должны видеть строки ошибок и знать об идентификаторах). Я генерирую что-то вроде этого:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Error Id="28002"><![CDATA[bla bla bla]]></Error>
<Error Id="28003"><![CDATA[bli bli bli]]></Error>
(Lots more...)
</UI>
</Fragment>
</Wix>
Во время сборки я использую его так же, как и другие мои файлы .wxs: вызываю свечу и получаю gen.wixobj, а затем передаю его в light.exe вместе с другими моими wixobjs.
Проблема: WiX не включает строки ошибок в итоговую таблицу ошибок MSI (проверено с помощью Orca).
Уродливый обходной путь: добавьте настраиваемое действие с ошибкой = "28002" - тогда весь файл будет включен в MSI.
Кто-нибудь знаком с этим?
Любое менее уродливое решение?