Я не большой сторонник этого паттерна. Как вы обеспечиваете контроль изменений при использовании недетерминированного процесса? Откуда вы знаете, что файл, который появился в каталоге, действительно должен поставляться в продукте, и откуда вы знаете, что файл, который исчез из каталога, не должен нарушать сборку? Откуда вы знаете, что нарушаете правила компонентов и создаете проблемы с обслуживаемостью?
Я использовал динамическое связывание файлов в 1990-х годах, потому что это было «легко», но я помню, что это кусало меня много раз, и с тех пор я этого не делал.
Я знаю, что Боб Арнсон раньше соглашался с этой точкой зрения:
http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg03420.html
Но теперь в WiX 3.5 я начинаю видеть возможности, которые поддерживают динамическое связывание, и я просто не понимаю, почему они так поступили. Я бы предпочел обновить файл WXS и вернуть его обратно в систему контроля версий, а затем рискнуть поставить процесс развертывания на автопилот.