Wednesday, April 06, 2005

You need a Windows 2000 or later to run this stub because it uses these features

Ran into this problem when upgrading (migrating) a project from VC++ 6 to VC++7. Actually, I think that I recall having this issue in VC++6 as well, but that's been a few years ago, so memory is fuzzy.

Possible answers:
1. You may also see this error if you build an ATL project with the /robust MIDL compiler option. /robust is only for use when building for a Windows 2000 or later machine. So, either remove /robust or change this line in the dlldatax.c file:#define _WIN32_WINNT 0x0400 //for WinNT 4.0 or Win95 with DCOMto #define _WIN32_WINNT 0x0500 //for WinNT 4.0 or Win95 with DCOM

2. If you change RpcNdr.h to:
#if (0x500 <= _WIN32_WINNT)
#define TARGET_IS_NT50_OR_LATER 0 // 1
#define TARGET_IS_NT50_OR_LATER 1 // 0

The link to this can be found at:

I had previous written very breifly about  creating a report on disk space using WMI A much better, and very concise instruction for qu...