WindowsIf the numbers from Netmarketshare are accurate, Windows 7 currently holds only a 23% market share.  XP holds a 55% market share.  Stunningly, there are still people using Windows 98 (0.03%) and Windows NT (0.19%).

The lack of Windows 7 adoption to this point is not particularly surprising – adoption of new operating systems in large companies might not even begin until 18 months after release.

With the public availability of the first Windows 7 service pack last month, the operating system has reached a step in its maturity that should help it see more adoption within the business community.

Internet Explorer 9, which came out Monday, and supports HTML5, is not available for Windows XP.

For the software engineer, wide-scale adoption of Windows 7 means that it is the fourth quarter for resolving compatibility problems.

If anecdotal evidence is anything, not everyone is ready.  Purely from anecdotal evidence, here are a few of the top compatibility problems we have seen that coders have to resolve for Windows 7:

  1. Third-party toolkits. If you use a third-party toolkit in your software, you cannot just assume it will work or that the vendor is actively testing it.  Just last week, I found an issue with a major image processing toolkit from one of the larger vendors – even the current version of this particular toolkit, which came out less than a year ago, crashes when used on Windows 7.
  2. Registry security. For some reason, it used to be fashionable to open registry keys using the access right KEY_ALL_ACCESS.  This may be a recipe for failure in Windows 7 – you should only use the access level that you require.
  3. 64-bit problems. As we noted a few weeks ago, if you compile your .NET programs using AnyCPU (which is Visual Studio’s default), there is a good chance they will fail when you run on a 64-bit machine.  If you incorporate any C++ modules or if you ever make the assumption that pointers are 32 bits, you must make sure you compile as x86.
  4. DLL registration. In most cases, registering a DLL requires that a process be run with administrative rights.  If you register a DLL as a part of your install, you are probably ok.  But if you try to register it outside of an installer, you may have problems.
  5. Folder access. Don’t assume that you can write to the program files folder.  Data should be stored under the c:users folder and you can use the .NET function GetFolderPath() to get the location of the user’s application data folder.

How ready are you for mainstream Windows 7 adoption?  Please share with us in your comments below.

Photo credit: David Morris

Enjoy Your 30-day Free Trial!
inbound marketing software free trial Learn how Inbound Marketing Software can help your business grow!

Click here to get started with your free trial.

2 Comments

Comments are closed.