Figure out deprecated WinRT 8.1 types and members with the DeprecatedApi tool

Download (x86 | x64)

UPDATE: a new version has been published with the existing types (that include deprecated member) in bold to make them more visible

In a previous post, I made available the WinmdDiff tool to list the new types in WinRT 8.1.

Today, my new DeprecatedApi tool will let you figure out what are the types and members that are deprecated in a version of WinRT. As shown in the following screenshot, the default path where the .winmd files are parsed is where the Windows 8.1 SDK stores the Windows.winmd file.

DeprecatedApiFinder

In the forthcoming versions of Windows, you will simply have to change this folder to get the new deprecated APIs of WinRT.

I hope this helps.

Posted in .NET, C#, Metro, Store App, Windows 8, Windows 8.1, WinRT | Tagged , , , , , | 4 Comments

Using WinRT in a Desktop App – a new video post!

While I was on vacation, I prepared the next episode of our Windows Store Apps Development series has been published.

You’ll find demos, code and tools to help you write better Desktop applications with WinRT!

Enjoy!

Posted in .NET, C#, Desktop, Metro, Store App, Windows 8, Windows 8.1, WinRT | Tagged | Leave a comment

New MSDN Magazine article about debugging Windows Store Apps

I’ve reviewed a nice article about debugging Windows Store Apps for Robert Evans, a collegue of mine at Microsoft with whom we publish video blog posts.

I’m pleased to announce that it is now available for your reading in the September issue of MSDN Magazine.

Enjoy!

Posted in .NET, C#, Store App, Windows 8, Windows 8.1, WinRT | Tagged , , , , | Leave a comment

DualApi Finder or listing winRT types usable by Desktop Apps

Download DualApiFinder

In a previous post, I explained how to use the WinRT API in Desktop applications with Visual Studio 2012 Release Candidate. I will soon provide an update for Visual Studio 2012 and 2013 on http://blogs.msdn.com/b/mspfe.

Meanwhile, you should start taking a look at the WinRT types that are usable by Desktop applications. For a given type, the MSDN documentation provides the list of supported platforms in the Requirements section at the end of its corresponding page

PlatformRequirementInMSDN
In the given screenshot, the type is usable both from Windows Store and Desktop applications.

In order to help you, I’ve built a tool that directly lists the types recognized as usable by a Desktop App

DualApi Finder Tool

There is no magic here: these types are decorated by an instance of DualApiPartitionAttribute. As the MSDN documentation states, it indicates that the type is supported in desktop apps and in Windows Store apps.

This is an approximation of the types we are interested in because some WinRT types are only available to Desktop Apps such as PackageManager used in my previous post. And in that case, it is not decorated by a DualApiPartitionAttribute. However, I’ve not found any other Destop-only type other than the types related to PackageManager such as PackageUserInformation or DeploymentResult.

I hope this helps

References

Posted in .NET, C#, Desktop, Store App, Windows 8, Windows 8.1, WinRT | Tagged , , , , , , | 3 Comments

Handling termination in WinRT – new video post!

While I’m on vacation, the next episode of our Windows Store Apps Development series has been published.

As usual, you’ll find demos, code and tools to help you write better Windows Store Apps for your users!

Enjoy!

Posted in .NET, C#, Store App, Windows 8 | Tagged , , | Leave a comment

New video post about what’s new in Windows 8.1 for a C# developer

Live from //build conference at San Francisco,

CNS_4101

a new video post has been released to detail what the new features of Windows 8.1 Preview mean for a C# developer: don’t miss it!

 

I hope this helps

Posted in .NET, C#, Store App, Windows 8, Windows 8.1, WinRT | Tagged , , , | Leave a comment

Listing Windows 8.1 Preview additions to WinRT

The Preview of Windows 8.1 has been released during the Microsoft //Build conference at San Francisco. Everyone is now able to download the Preview, update their machine and start to explore the new features with Visual Studio 2013 Preview.

How to list new WinRT types?

As a developer, I would highly recommend you to download the updated Windows 8.1 SDK Samples for a wide coverage of the new APIs. If, like me, you really want to get the exact list of the new types in WinRT, my WinmdDiff tool is for you!

WinmdDiff

I leverage the same unmanaged IMetaDataDispenser API that I used for my BCLDiff tool but Instead of loading managed .dll, .winmd files are loaded. As I explained in a previous post, these files contain the metadata that describes WinRT namespaces, types and members.

The Windows SDK installs one single windows.winmd file under C:\Program Files (x86)\Windows Kits\8.x\References\CommonConfiguration\Neutral\ with x either 0 for Windows 8 or 1 for Windows 8.1. However, you could also get the .winmd files installed with Windows under the Windows\System32\WinMetaData folder. Note that you could also use this tool with your own WinRT components.

When the Diff button is clicked, all .winmd files in the Old and New folders are loaded. The types that appear in the metadata files from the new folder but not from the old folder are kept and sorted under their corresponding namespaces. That way, you end up with the list of types that are new to Windows 8.1!

In addition to the windows.winmd file, the Windows SDK also installs a windows.xml file that contains the documentation of each namespace, type and member. The WinmdDiff tool parses this file to extract raw summary when possible and displays the text corresponding to the selected element.

I hope this helps.

Resources

Posted in .NET, C#, Store App, Windows 8, Windows 8.1, WinRT | Tagged , , , , , | 4 Comments