Как написать программу на .Net 4.5 для windowx XP?
В двух словах - это невозможно. Чуть более длинно - stackoverflow.com/questions/17499351/is-it-possibl... . 
Потенциальное решение - стимулируйте пользователей обновлять систему. Что поддержка данной операционки усложняет и удлинняет процесс разработки и тестирования новых фич, а соответственно увеличивает стоимость продукта.
Вариантов много. По всей видимости, старая версия уже включала компоненты для .NET Framework 4. (1) Не переходите на новые компоненты только ради поддержки .NET 4.5, используйте старые версии. Либо (2) используйте конфигурацию для биндинга нужной версии компонентов. Либо (3) сделайте динамическую компоновку (плагинами, например), зависящую от используемой ОС. Либо (4) сделайте установщик, который будет ставить версии компонентов, зависящие от ОС. (5) Компоненты можно вынести в отдельное программное средство (сервис, консольное приложение), сделать такое средство специально для XP, и использовать редакцию либо для Win7/8/10, либо для XP... Вот уже 5 решений. Не считая принудительного перевода пользователей на Win7 ;)
Короче, проблема решаемая. Но придётся немного попотеть.