none
Windows OSs compatible with PSDKs for VS6

    Question

  • We're using VS6 with PSDK July 2002, very old I know, but what Windows OSs are considered to be compatible for developing applications using this PSDK?

    It would also be useful to know which Windows OSs are considered to be compatible for developing applications using other PSDKs that are compatible with VS6 (i.e. PSDK August 2002, PSDK October 2002, PSDK February 2003, and PSDK for XP SP2 August 2004). (I know that the Windows Server 2003 R2 PSDK is not compatible with VS6 but I'm not sure if the PSDK for XP SP2 August 2004 is.)
    Thursday, February 11, 2010 5:04 PM

Answers

  • The last SDK that works with VC6 is Platform SDK for Windows 2003 (Feb 2003) . It should support developing for Windows 98 to Windows 2003.

    You can install Visual C++ Toolkit 2003 to replace VC6's compiler and be able to use a later version of SDKs (that is, up to 2003 R2), however the toolkit is out of support a while ago and generate codes that are not recognized by VC6's debugger (you probably need to use a morden version of windbg for debugging).




    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.
    Visual C++ MVP
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:07 PM
    Thursday, February 11, 2010 5:48 PM
    Moderator
  • Yes, I get up early.
    The Windows SDK version that comes with VS2008 support targeting Windows 2000 or higher, though some features (e.g. outlook express, Windows Mail)  are removed in higher versions of Windows and their APIs become unusable. You can still use target older versions of Windows by yourself, however the header may not give you compile errors when you use some new APIs that are not supported by your desired OS.

    I suggest you to upgrade to Windows 7 SDK if you are using Visual Studio 2008 and want to target Windows XP Sp2 or later. If you still need to support old versions of Windows, you may want to try Visual Studio 2005, whose C runtime, MFC, ATL and SDK still support targeting windows versions as early as Windows 98.



    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.
    Visual C++ MVP
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:20 PM
    Friday, February 12, 2010 4:18 PM
    Moderator
  • You need to specify the target Windows version to be the lowest Windows version you want to support. Search "Using the Windows Headers" in Platform SDK documentation for details.

    For supporting 64 bit CPU you need a 64 bit compiler, which comes with Platform SDK for Windows 2003 SP1 or higher. 

    Platform SDK for Windows XP2 does not support VC6's compiler and debugger.



    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.
    Visual C++ MVP
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:07 PM
    Friday, February 12, 2010 12:55 PM
    Moderator
  • Are you really in Austin, Texas? If so, you must have replied before 7am! Thanks again for your immediate reply, especially at such an early hour, it is much appreciated.

    I think I found the details you were referring to under the title "Using the SDK Headers" which is in the location of the "Platform Software Development Kit: Platform SDK" within the "Platform SDK Documentation" for "Microsoft Platform SDK July 2002". The documentation suggested that our 32bit applications developed using VS6 (Enterprise Edition) SP6 with PSDK July 2002 are supported to run on Windows NT3.51, 95, NT4, 98, 98SE, 2000, ME, XP, Server 2003, and XP Professional x64 Edition.

    We are now actually looking into migrating to VS2008 and therefore we probably won't be upgrading the PSDK for VS6 but moving to the "Windows Server 2008 & .NET 3.5 SDK" or the "Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1". The MSDN Web page "Which SDK is Right for Me?" <http://msdn.microsoft.com/en-us/windows/dd146047.aspx> has given us all of the details we require to make an informed decision about this.

    It's easy looking back but, it would've been nice to have something similar on the MSDN Web site to the table given on the "Which SDK is Right fo Me?" Web page for all the non-combined Platform and .NET Framework SDKs including Release Information, Operating Systems Support, Platform Architecture Support, and Visual Studio Compatibility (6, .NET 2002, .NET 2003, and 2005). Perhaps it still would?

    If I've understood correctly, upgrading from VS6 and PSDK July 2002 to VS2008 and "Windows Server 2008 & .NET 3.5 SDK" should give us an overlap in supporting the running of our (currently 32bit) applications on all varieties of Windows XP and Server 2003. However, if we upgrade to VS2008 and "Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1" we would only have an overlap in supporting all varieties of Windows XP but, we would also be able to support Windows 7.
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:08 PM
    Friday, February 12, 2010 4:07 PM

All replies

  • The last SDK that works with VC6 is Platform SDK for Windows 2003 (Feb 2003) . It should support developing for Windows 98 to Windows 2003.

    You can install Visual C++ Toolkit 2003 to replace VC6's compiler and be able to use a later version of SDKs (that is, up to 2003 R2), however the toolkit is out of support a while ago and generate codes that are not recognized by VC6's debugger (you probably need to use a morden version of windbg for debugging).




    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.
    Visual C++ MVP
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:07 PM
    Thursday, February 11, 2010 5:48 PM
    Moderator
  • Many thanks for your extremely quick reply!

    From what you've said am I therefore correct in thinking that if we're using VS6 (Enterprise Edition) SP6 with PSDK July 2002 then the applications should run without problems on Windows 98, 98SE, ME, 2000, XP, and Server 2003. What about Windows 95, NT4, and - more importantly - Windows XP Professional x64 Edition?

    Am I also correct in thinking that the PSDK for XP SP2 (Aug 2004) does not work with VS6 unless you install the Visual C++ Toolkit 2003?

    BTW we use version 6.8.4.0 of windbg (Debugging Tools for Windows) for analysing crash dump files (*.DMP) and, I guess, VC6's debugger (How can I confirm this?) while debugging in VS6.

    Friday, February 12, 2010 11:22 AM
  • You need to specify the target Windows version to be the lowest Windows version you want to support. Search "Using the Windows Headers" in Platform SDK documentation for details.

    For supporting 64 bit CPU you need a 64 bit compiler, which comes with Platform SDK for Windows 2003 SP1 or higher. 

    Platform SDK for Windows XP2 does not support VC6's compiler and debugger.



    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.
    Visual C++ MVP
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:07 PM
    Friday, February 12, 2010 12:55 PM
    Moderator
  • Are you really in Austin, Texas? If so, you must have replied before 7am! Thanks again for your immediate reply, especially at such an early hour, it is much appreciated.

    I think I found the details you were referring to under the title "Using the SDK Headers" which is in the location of the "Platform Software Development Kit: Platform SDK" within the "Platform SDK Documentation" for "Microsoft Platform SDK July 2002". The documentation suggested that our 32bit applications developed using VS6 (Enterprise Edition) SP6 with PSDK July 2002 are supported to run on Windows NT3.51, 95, NT4, 98, 98SE, 2000, ME, XP, Server 2003, and XP Professional x64 Edition.

    We are now actually looking into migrating to VS2008 and therefore we probably won't be upgrading the PSDK for VS6 but moving to the "Windows Server 2008 & .NET 3.5 SDK" or the "Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1". The MSDN Web page "Which SDK is Right for Me?" <http://msdn.microsoft.com/en-us/windows/dd146047.aspx> has given us all of the details we require to make an informed decision about this.

    It's easy looking back but, it would've been nice to have something similar on the MSDN Web site to the table given on the "Which SDK is Right fo Me?" Web page for all the non-combined Platform and .NET Framework SDKs including Release Information, Operating Systems Support, Platform Architecture Support, and Visual Studio Compatibility (6, .NET 2002, .NET 2003, and 2005). Perhaps it still would?

    If I've understood correctly, upgrading from VS6 and PSDK July 2002 to VS2008 and "Windows Server 2008 & .NET 3.5 SDK" should give us an overlap in supporting the running of our (currently 32bit) applications on all varieties of Windows XP and Server 2003. However, if we upgrade to VS2008 and "Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1" we would only have an overlap in supporting all varieties of Windows XP but, we would also be able to support Windows 7.
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:08 PM
    Friday, February 12, 2010 4:07 PM
  • Yes, I get up early.
    The Windows SDK version that comes with VS2008 support targeting Windows 2000 or higher, though some features (e.g. outlook express, Windows Mail)  are removed in higher versions of Windows and their APIs become unusable. You can still use target older versions of Windows by yourself, however the header may not give you compile errors when you use some new APIs that are not supported by your desired OS.

    I suggest you to upgrade to Windows 7 SDK if you are using Visual Studio 2008 and want to target Windows XP Sp2 or later. If you still need to support old versions of Windows, you may want to try Visual Studio 2005, whose C runtime, MFC, ATL and SDK still support targeting windows versions as early as Windows 98.



    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.
    Visual C++ MVP
    • Marked as answer by Andrew Guy Friday, February 12, 2010 4:20 PM
    Friday, February 12, 2010 4:18 PM
    Moderator
  • I think we'll take your advice and migrate to the latest releases (i.e. VS2008 SP1 and Windows SDK for Win7 & .NET 3.5 SP1). Supporting back to Windows XP SP2 should be adequate, especially since XP SP2 is no longer supported by Microsoft after 13th July 2010.

    Thank you very much for all your help.
    Friday, February 12, 2010 4:31 PM