Expert Texture Home Contact me About Subscribe Digipede Connect on LinkedIn rwandering on Twitter rwandering on FriendFeed

The blogged wandering of Robert W. Anderson

Don’t Fail the HighVersionLie

This is a public service announcement to release engineers and developers out there.

Your installers — and core components for that matter — shouldn’t be performing checks that preclude new versions of Windows.

This is particularly relevant with a new version of Windows coming soon.  In fact, I’m writing this because recently someone told me that his team’s software wouldn’t install on Windows 7.  The release engineer fixed it by increasing the high version limit.

That is the wrong approach.

The right approach is to eliminate any upper bound on a version limit.  The premise is that developers shouldn’t assume that their software won’t work on future versions of Windows. 

Windows Logo requirements have required this for some time, and in fact there is a certification test called the HighVersionLie that tests for just this case.  The test sets the Windows version to an artificially high number to see if the tested software still installs and runs.

BTW: One reader from Microsoft told me a similar story at last year’s PDC – this posting was prompted by a different conversation altogether.

Tags: , ,


1 Comment »

    Ron Burk wrote @ September 25th, 2013 at 11:07 pm

Do as MS says, not as they do. For example, this program
craps out horribly when run under AppVerifier with the HighVersionLie checked.
In fact, the standard says hardware_concurrency() isn’t supposed to
ever throw an exception, but…


int main(int ArgCount, char** Args)
printf(“# of threads = %d\n”, std::thread::hardware_concurrency());

Your comment

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>