WPF и XBAP могут работать на вас. Хотя Silverlight может делиться кодом с WPF, они двоично несовместимы. XBAP и полнофункциональные клиентские приложения WPF для настольных компьютеров могут совместно использовать двоичные файлы, чтобы вы могли записывать свои модели представлений в одну библиотеку и представления, т.е. слой представления в двух разных библиотеках. Один размещен как клиентское приложение WPF, а другой - как XBAP.
Это не даст вам слой ASP.Net на основе HTML, но все же позволит вашему клиенту развернуть XBAP только на одном веб-сервере и позволить пользователям использовать его через URL. Это дает вашему клиенту то же преимущество, что он поддерживает только одну установку, которую он получил бы, если бы ему требовалось приложение ASP.Net на основе HTML.
Недостаток в этом состоит в том, что WPF имеет немного более крутой кривой обучения, чем базовые WinForms, но он имеет гораздо лучшую поддержку для чистого разделения между представлением и данными (или Model / View / ViewModel), чем WinForms.
Кроме того, как личное мнение, как только вы изучите WPF, гораздо приятнее кодировать, чем WinForms с его утечками COM-абстракций.