I've been writing Mac OS X desktop applications with Cocoa for quite a while now. I like Objective-C immensely and enjoy developing with Xcode. The best thing about developing for the Mac is that there is a single "official" API and a single set of development tools, which means I don't have to spend time picking a toolset, language and API.
Now I want to jump into Windows development. I was not a big Windows fan back in the XP era, but I like Windows 7. C# and Visual Studio are great. A friend -- also a Mac developer -- and I have an idea for a desktop application both of us sorely need, but we cannot decide what API we should use to write our UI.
There used to be Windows.Forms, but that's deprecated now. I've heard rumors about Microsoft deprecating WPF over Silverlight in Windows 8. Is this true? Doesn't Silverlight just use a subset of WPF?
Windows 8 will also provide a way to write applications using HTML and JS, so there's that.
Now we're thoroughly confused. Deciding between different versions of Windows and Visual Studio was hard enough, but I believe we made the right choices there. This one is a doozy, though. We don't want to spend 6-8 months writing an application just to have Microsoft deprecate the API we use.
I wouldn't even have dreamed of asking this question if our app was just another CRUD app. But UI is a huge part of what we're planning, so we want to make the right choices there.
Help?
EDIT: formatting.
EDIT 2: more formatting.