У меня также была проблема, когда я генерировал несколько групп компонентов на основе папок, которые в конечном итоге попадали в одни и те же целевые установочные папки.
Если у вас установлен cygwin для использования инструментов Unix, то, что я сделал, чтобы устранить эти дубликаты ID, это использовал «sed» после каждой командной строки heat.exe, чтобы добавить префикс ко всем идентификаторам. Я просто добавляю эти команды sed, чтобы они были частью этапа предварительной сборки WIX, точно так же, как и тепловые.
Например:
sed -i 's / Directory \ Id = \ "/ Directory \ Id \" mod1 / g' "generatefile.wxs"
Эта командная строка заменит все (Directory Id = "...") на (Directory Id = "mod1 ...")
Это прекрасно работает, потому что на эти каталоги не ссылаются, а просто включают в компоненты, которые затем ссылаются на группы.
Надеюсь, это поможет