Perhaps in response to our hints at plans to release Guided Help for use by ISVs, we were recently asked about what is necessary to prepare an existing Windows XP application to use Guided Help for its own features.

Well, probably nothing at all. :)  Most of the time, it will just work.

The caveats: to allow Guided Help to work with your application you will need accessibility support.  Guided Help relies on good accessibility (MSAA) implementations - while this mostly happens automatically with the Windows Controls (so most simple applications have reasonable accessibility for free), it is necessary to add support for custom controls that you create and may be necessary with 3rd party controls.  We have a lot of code to handle mild errors in MSAA implementations, but we can only do so much :).

Why do we use MSAA?  Well, we don't always do that - for PSS, it made more sense to use the extensibility framework and write reusable actions in code.  But in general, it's super important to us that Guided Help topics/tasks be very inexpensive to author and one great way to do that is building on the UI that is built for the application.  Also, in many cases there simply isn't a supported code-based pathway to completing a task.  MSAA is a great (almost) always-available way of allowing authoring of many scripts to be simple recording by an expert in the application.  We'll talk more about how Guided Help topics are authored and maintained in a future post.

The Accessibility SDK tools can be downloaded here.  Inspect32 is the tool we use most often for verifying accessibility implementations.  It's worth noting that this also gets you good support from the Speech Recognition that's included in Windows Vista.