I think I have a grasp on the expectations of consumer application development for Windows 8. Create a new Metro-based UI on top of WinRT, deploy it to your customer via the Marketplace, and everyone wins. Seems simple enough. Unfortunately, I'm not in that business.
I work on internal, line-of-business applications for a large enterprise. We currently use .NET technologies such as WPF and Silverlight in order to create rich UIs that can be easily deployed to our users via the web or ClickOnce. The applications can support WinXP and Win7 without too much headache, and our developers get to use XAML which is a very solid UI technology.
It seems like WPF and Silverlight have questionable futures at this point, so it is a bit worrisome to continue investing in those. But a Metro UI doesn't seem appropriate for enterprise applications, and the WinRT API is quite limiting with regards to "typical" things that enterprise applications need to do.
How should I be architecting my XAML-based applications, currently being deployed to WinXP and Win7, so that they will be supportable and evolvable on Win8?
Assume for the purposes of this question that the features provided by HTML5 on top of ASP.NET are not adequate for the applications I'm looking to create. I understand that I can use HTML5 for some applications, but I'm trying to figure out what I should do when that isn't enough.
Edit #1: This is in response to @Emmad Kareem's comment. I do agree that Silverlight/WPF are viable in the short term (2-5 years). However, the applications we produce have potentially very long lifetimes (10-20+ years). So survivability in the long term for a given technology is a concern for us. Also, we have some concern that it will be more and more difficult to find developers that are interested in Silverlight / WPF development if those technologies are considered "dead" by the community. I just want to understand my options and make a decision with my eyes open.