Я определил несколько пользовательских действий в моей настройке WIX, и эти действия вызывают сторонние EXE-файлы, от которых зависит наше приложение. Пользователь решает установить или игнорировать эти сторонние приложения из дерева функций. Мои CustomAction и двоичные теги выглядят так:
<CustomAction Id='NL220_Action' BinaryKey='NL220EXE' Return='asyncWait' />
<Binary Id="NICEXE" SourceFile="..\NL220.exe" />
<CustomAction Id='NIC_Action' BinaryKey='NICEXE' Return='asyncWait' />
<Binary Id="NICEXE" SourceFile="..\NIC.exe" />
Кроме того, мой тег InstallExecuteSequence выглядит следующим образом:
<InstallExecuteSequence>
<Custom Action="NL220_Action" After="InstallFinalize"><![CDATA[(&Optional_NL220=3)]]></Custom>
<Custom Action="NIC_Action" After="NL220_Action"><![CDATA[(&Optional_NIC=3)]]></Custom>
</InstallExecuteSequence>
Все работает нормально: пользователь может выбрать, какие сторонние установочные пакеты запускать, и они запускаются после завершения установки. Проблема заключается в том, что если пользователь выбирает оба сторонних установщика, они запускаются одновременно, игнорируя атрибут After = "NL220_Action" второго настраиваемого действия. Есть идеи, почему это так?