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
#else
#define TARGET_IS_NT50_OR_LATER 1 // 0
#endi

The link to this can be found at:
http://www.codeguru.com/forum/printthread.php?t=307745

No comments:

The Database is not accessible after creating Always On Availability Group

 Having created a fully functional SQL Server Always On Availability Group, I connect using SSMS. Upon trying to expand the database, I get ...