Installing Multiple Versions of Platform SDK

the forums categories all appear to be tool-centric, so this question is not precisely on-topic, but...

how does one install multiple versions of the platform sdk   each version appears to remove the previous version. 

<rant>
in theory this should never be necessary as each sdk should be fully backward compatible but in fact some are not backward compatible.  e.g., the libraries with the latest sdk don't work with vb6.  the oft-seen response from MS has been "upgrade to a newer development environment", but this is does not address the real problem - namely, that the sdk installation, which should be nothing more than a bunch of directories with includes and libraries, is in fact an enormous "protect me from myself" disaster.  MS seems to have forgotten "Keep It Simple, Stupid".
</rant>



Answer this question

Installing Multiple Versions of Platform SDK

  • D. H.

    I spoke to the main setup dev about this specific issue. The transition from WinServ 2003 to WinServ2003 SP1 does indeed require an uninstall before the new version is installed, and there is no way to hack the build. There is a hack to install separate versions of the Windows and WinFX SDKs side by side, but this isn't available for the Server 2003 release for several reasons:

    - We made internal changes to the SDK release process that required changes to the structure of the build. Since the layouts and processes are so different between RTM and SP1, it was almost impossible for us to allow the builds to be backwards compatible. You may ask why we couldn't just allow for side by side installation, which leads to reason number two.

    - Because this release was an SP release, it is a required update. The fixes between the RTM and SP were major enough that it was felt that these updates needed to overwrite the previous releases.

    The best solution I can offer, unfortunately, is to install the builds on different machines, which is obviously not great advce.

    If you can give me more details on the problems you describe, I'll be happy to bring them up the food chain and see if I can get some traction on the issue.

    Thanks for posting.


  • SmartGy101

    This is a real problem and one I've heard more than once when talking with users at PDC. Support for VS6 is a special source of consternation among many of our users. Microsoft tends to focus on the next releases of products, and pushes older products to a lower priority. This is the case with VS6, Win2k and Office 2000, among others. Part of the problem with this comes from the sheer size of the SDKs. I know that the MSDN Quarterly Library barely fits on three CDs, and their rule is to ship documentation on only the two latest versions of docs. Unfortunately, we have to trade off support for older products versus getting our users up to speed with new products. This is a real problem in our offline products and one we need to address. We do at least have an online version of the docs, in the MSDN Library and Archive, which of course aren't constrained by size restrictions.

    All that said, I can recommend two solutions. One is to install each SDK to a different location on your machine. I know this is awkward, and will cause you to need to open a seperate SDK window for each release, but you can install side by side to different directories. The other solution is, if you're looking for just documentation, to look in the MSDN Library, where VS6 content sits happily alongside the VS .NET content.

    I hope this helps.

    Jason Sacks
    Setup Program Manager, Windows SDK

  • Ron Sexton

    the SDK is not, of course, MSDN.  And I have no particular problem with MSDN, particularly given that MS includes information showing what release of what OS supports each API function and dynamic loading can be used to expand the range of supported platforms for a given app.  That's all OK.

    the problem is that two (specific) platform SDKs cannot be "installed to a different location on your machine" as you suggest:  the 2K3SP1 SDK removes the 2K3 SDK.  And therein lies the problem.  Because the 2K3SP1 SDK is not backward compatible with the the 23K SDK that it insists on removing (due to library buffer overflow switches used to compile the libraries, according to documentation), it should NOT remove the older one.  That would be like an updated COM component removing an older version when the newer version did not have binary compatibility - a serious breach of the rules.

    As I see it, there are two solutions to this problem:  1)  provide (additional) libraries that do not have these switches specified so that they are compatible with VB6  or  2) prevent SDKs from removing prior SDKs unless the SDK being replaced is binary-compatible with the replacement.  Wouldn't either of these solutions be simple and work just fine as long as each development environment had its LIB and PATH set correctly

    ---
    tmike


  • silverboy

    Hi,
    Thanks for the post!
    There are a couple versions of the PSDK that install Side by Side.  The Windows Server 2003 SP1 SDK and the Windows XPSP2 SDK can both be installed on the same machine.  Actually, any flavor of the Windows Server 2003 SDK can be installed side by side with the Windows XPSP2 SDK.

    The upgrade model is intentional to match the upgrade model of the OS.  Generally, there are quite a few bug fixes between the Beta1/RC's of an SDK and the RTM version.

    As the libraries and development environment of Visual Studio changes, the SDK changes to match and work correctly with the newer version.  In addition, the SDK needs to make sure to work well with the OS as well.  I know this doesn't address the underlying cause of your rant, but I am hoping to explain our reasoning.

    We did address one of your concerns with the new Windows Vista SDK, though.  We are now including a compiler with the x86 version (previous SDKs had 64-bit cross compilers).  This will allow users to write and compile code with nothing more than notepad and the SDK installed.

    Thanks,
    Chris

    Hopefully Helpful links:
    Windows Server 2003 SP1 SDK- http://www.microsoft.com/downloads/details.aspx FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
    Windows XP SP SDK- http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
    Visual Studio Express- http://lab.msdn.microsoft.com/express/



  • Installing Multiple Versions of Platform SDK