Чтобы добавить ответ Беннора, я бы не стал писать код "позади" форм InfoPath целиком. Это отчаянная попытка сделать как можно больше «тупого XML» вместо «умного» XML, запутанного в коде. В противном случае мой следующий выбор - VSTA, потому что исторически эти решения (по крайней мере, те, что я написал) имеют меньшую угрозу безопасности и могут работать в более разнообразных средах Office.
Последнее средство - использовать ВСТО. Это мой уклон ... большинство моих инвестиций в VSTO в Microsoft Word.