I have received several questions and lots of concerns about the latest PSDK (updated forWindows Server 2003 SP1) not supporting VC6.  There is one very good reason for that--improved security.  MelindaK, the release manager for the PSDK, explains as follows:

"The real technical reason [that the PSDK no longer supports VC6] is because the later compilers and library add enhanced security. The libraries are compiled with /GS. This was not previously supported (not in VC6) but is part of our security initiatives and drive to eliminate buffer overruns. The two articles below describe the new functionality in detail. VC6 is not as secure and does not have these enhancements. XP SP2 itself was compiled with the switch which is why we see the issue start in XP SP2.  Windows Server 2003 SP 1 is even more strict in it's adherence. The compilers included in the SP1 PSDK and most of the libraries comply as well and simply won't work with VC 6.


1. /GS (Buffer Security Check), Visual C++ Compiler Options,


2. Compiler Security Checks in Depth, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcext/html/vxlrfVCProjectEngineLibraryVCCLCompilerToolBufferSecurityCheck.asp

I know this won't make some VC6 customers very happy.  But security is critical to us and we can't compromise in this area.

If you simply must continue to use VC6, you will need to continue using the February 2003 PSDK.  But you should know that you're app might not be as secure as it could be.