Windows 7 software logo requirements published

If you intend to develop applications for Windows 7, then take a good look at this. Otherwise if you’re in the niche of developing for Windows Me, you can safely ignore. Microsoft’s just published the “Technical Requirements for the Windows 7 Software Logo Program for Client Operating Systems” document for the Windows Logo Program for Windows 7.

The short but concise document of only 10 pages describing 5 steps, 3 policies and 10 requirements gives developers a clear guide on how their application can qualify certification for the pre-release version of Windows 7.

First of all, the applicator must

  • Include business and technical owners for all submissions
  • Opt in to receive communications from Microsoft about their products
  • Include a copy and license of the software for compatibility testing purposes
  • Along with Microsoft agree to a 30-90 day resolution policy for all issues identified in market with logo’d products
  • Ensure the application adheres to all policies and passes all requirements in this document

The policies which the application should adhere to includes,

  1. Comply with Anti-spyware Coalition Guidelines
  2. Do not modify Windows Resource Protection (WRP) protected resources
  3. Ensure ongoing quality – in short, fix crash reports over time

Finally the application must,

  1. Install and uninstall cleanly
  2. Install to the correct folders by default
  3. Support x64 versions of Windows
  4. Follow User Account Control (UAC) Guidelines
  5. Do not load Services and Drivers in Safe Mode
  6. Digitally Sign Files
  7. Do not prevent an installation or application from launching because of OS version checking
  8. Prevent unnecessary reboots
  9. Support multiuser sessions
  10. Minimize application failures

The document of course is still in preliminary stages and may be changed over time. Microsoft however does have a survey up which allows people to give feedback on. Remember, if don’t certify, the terrorists win.

24 insightful thoughts

  1. I completely agree with this requirements, I’ve only one question, why does Microsoft release this kind of documents in *.docx format? I think *.xps o *.pdf suits better.

  2. Hey Long.. the NDA reminders on the first few pages and the LCA stamp are pretty scary – you sure you want this up on the blog?

  3. Let’s hope the item ‘Support x64 versions of Windows’ really will result in more support. Now if only Cisco would get certification and release a 64-bit VPN client with IPSec support… (I’m sure all Monash students with 64-bit Windows would agree with this sentiment)

    Off-topic, but do you upload graphics like that logo as JPGs to save bandwidth?

  4. I love the “Do not prevent an installation or application from launching because of OS version checking” rule in this logo requirement. With to many driver installations the installer just checks what OS version you have and disable the installer because your running an higher version. Not looking to if it works or not, no, just don’t install it.

    Many drivers that still work on Vista had issues like these. I’m glad MS wants to make sure it doesn’t happen again

  5. Hope they have one logo certification for the hardware logoed products.

    “Support x64 versions” but not necessarily native 64-bit, so app vendors may choose to run their apps in WoW64 mode. MS should really enforce native 64-bit for the software logo.

  6. @anonymous: “MS should really enforce native 64-bit for the software logo.”

    Why? “Native” x64 would not benefit many (most) apps, and would double disk/download footprint, as well as the testing matrix.

  7. “I love the “Do not prevent an installation or application from launching because of OS version checking” rule”

    This rule has two sides. I prefer a message box “This application does not run on Win98” over “Entry point CreateWindowW not found in user32.dll”

    If Microsoft really wants to help users and developers they should require executables to export a function which returns the set of supported Windows versions aka

    BOOL QuerySupportedVersions(datatype *pdwVersions, […])
    // {VER_PLATFORM_WIN32_NT, 0x500}


    On a newer Windows version the OS could then inform the user that he is using an older app which has not been tested on the new OS and ask him how to proceed. This would also make compatibility / virtualization easier by going back to the last supported OS.

    MS should also maintain a database where everyone can freely create an account and add his apps with version and update information.

  8. I am just wandering what the system requirements are going to be for windows 7. Please email me back and let me know.

Leave a Reply