Thursday 9 April 2009

Windows 7 - Touching up your legacy apps

It has been quite a while since my last blog posting. I have been travelling pretty extensively over the past few weeks, and one of the challenges (apart from running from flight to flight) of working abroad and on a client site, is that there is generally little time for "background" tasks like blogging.

That said, I am having a great time with working our clients and it looks like we have found a few more legacy application compatibility issues with Windows 7.

Windows 7 now includes "Touch" support - which on top of "Sensor " support (movement, location, temperature) I think will be the "killer apps" for Windows 7. I have been told by the senior powers that be at Microsoft, that Windows 7 does not have killer apps. "We have pillars, that people; developers in our ecosystem, build upon to create killer apps", I am told. "Fine", I replied, "Then Touch and Sensor support are killer pillars". I quite like the sound of that; Killer Pillars.

Back to the application compatibility issues.

Touch under Windows 7 crashes legacy VB applications that use the old (versions 5 and 6) of the COMCTL control (Mscomctl.ocx or Comctl32.ocx). If your application has a dependency on these controls - it will crash with a wonderful "divide by zero error".

The two problem scenarios outlined by Microsoft include;

• You are running an application that sets a WinEvent hook on Microsoft Windows 2000 or a later operating system version.
• You start an application that uses the ListView control or the TreeView control from Microsoft Windows Common Controls 5.0.


For more information, please refer to the Microsoft support link; http://support.microsoft.com/kb/896559

The fix for this issue is clear; you must scan all of your application packages, and get rid of those legacy versions of these controls. This "cleaning" process must include removing all other configuration settings (registry and COM information) from the offending package. In addition, you will need to validate your application for dependencies on these List and Drop-down controls.

1 comment:

Vijay said...

Nice Post Greg. It aptly covers the basics and significances.

Wish to read some more of yours works.