none
Can I use VC6 with original headers, but set WINVER to 0x0501

    Question

  • I have an original copy of VC6 with the original headers with which I am building some legacy apps.  I have tried to upgrade to the Feb 2003 SDK headers, but the apps do not run properly and it looks non-trivial to solve those problems.

    So, my question is related to setting WINVER to 0x0501 in my stdafx.h.  When I do this I get the often Googled message

    NOTE: WINVER has been defined as 0x0500 or greater which enables
    Windows NT 5.0 and Windows 98 features. When these headers were released,
    Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions.
    For this release when WINVER is defined as 0x0500 or greater, you can only
    build beta or test applications

    Given that the app builds and runs quite happily (on W7 64) and upgrading the SDK does not seem simple, what does it really mean  "you can only build beta or test applications"?

    Is it a technical thing, a license thing or a "meaningless statement" thing?

     


    • Edited by abow Wednesday, July 20, 2011 8:26 AM formatting
    Wednesday, July 20, 2011 8:25 AM

Answers

  • That means you should not build production apps using beta SDK headers. You don't have Microsoft's go-live license to build production apps. You need to use stable release versions of SDK that support your target OS to go live.

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • Marked as answer by abow Wednesday, July 20, 2011 8:36 PM
    Wednesday, July 20, 2011 8:25 PM

All replies

  • I used this SDK with VC6.0 and never faced big problems. I never had the problem you described with this message. Are you really sure you are usind the headers provided by Feb 2003 SDK and not the headers shipped by VC6.0? The Feb 2003 SDK supports

    • Windows Server 2003
    • Windows Advanced Server, Limited Edition
    • Windows XP
    • Windows XP 64-bit Edition
    • Windows 2000
    • Windows NT® versions 3.51 and 4.0
    • Windows Millennium Edition
    • Windows 95 and Windows 98

    Only as an hint

    • WINVER 0x0500 is Windows 2000
    • WINVER 0x0501 is Windows Server 2003, Windows XP
    • WINVER 0x0502 is Windows Server 2003 SP1, Windows XP SP2

    This systems are all supported by the Feb 2003 SDK. I would not use WINVER definitions above 0x0502 (i.e. 0x0600 for Vista, 0x0601 W7,...) with this SDK.

    Wednesday, July 20, 2011 8:55 AM
  • I used this SDK with VC6.0 and never faced big problems. I never had the problem you described with this message. Are you really sure you are usind the headers provided by Feb 2003 SDK and not the headers shipped by VC6.0? The Feb 2003 SDK supports

    Well, I had random crashes in some, but not all of the apps.  As we are predominantly server side C and Java developers, solving random MFC C++ problems was not our forte, so what does that statement in my question mean?

     

    Wednesday, July 20, 2011 9:14 AM
  • That means you should not build production apps using beta SDK headers. You don't have Microsoft's go-live license to build production apps. You need to use stable release versions of SDK that support your target OS to go live.

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • Marked as answer by abow Wednesday, July 20, 2011 8:36 PM
    Wednesday, July 20, 2011 8:25 PM