none
SDK installation problem. RRS feed

  • Question

  • Hi to all.

    I'm using Platform Builder for Windows CE 6 R3 with QFE since 31/12/2010. I have an OSDesign based on AT91 BSP. In this OSDesign I create two SDK with different name. I install the two SDK on the PC but in VS I can develop only with the last installed SDK. In the list of installed SDK in VS I can see only the last installed ones (plus the VS standard SDK per pocket pc 2003 and so on). If I install only one of those SDK I can develop with it. I see on Control Pannel -->Installed Programs that the two SDK are correctly installed on the PC. In configuration file (*.sdkcfg) the GUID of two SDK are diffent. The two SDK refers to the same OSDesign.

    Someone can help me to resolve this problem?

    Thanks to all.

    Wednesday, April 6, 2011 9:07 AM

Answers

  • OK,

    the problem was in SDKs/SdkDir/obj/BuildXXX.xml file. The entry with NAME="ID" had the same value for all the SDK generated. I changed it and now all works.

    Thanks for all.

    • Marked as answer by A.BIASCI Tuesday, April 12, 2011 9:27 AM
    Tuesday, April 12, 2011 9:27 AM

All replies

  • I'm using Windows Embedded Compact 7, and there, not only the Product GUID from the sdkcgf is relevant...there's a second GUID, called platform guid, which comes from the pbxml, and which basically identifies the device itself (those entries that get overwritten in Visual Studio).

    If you need to install both of your SDKs and they should have each their own devices I guess you have to patch the pbxml. That's what I ended up doing anyway: when I build OS images for distribution, I generate a new platform GUID and a new Product GUID for each OSDesign/SDK pair, and then build them.

    Thursday, April 7, 2011 7:23 AM
  • Thanks for your suggestion. Can you explain me how you do this?
    Thursday, April 7, 2011 1:57 PM
  • Easy:

    1. Generate a new GUID, and replace the platform GUID in the pbxml file with it (in CE7 that's an attribute of the root element, I think)
    2. Generate a new GUID, and replace the product GUID in the sdkcfg file with it
    3. Build the OS
    4. Build the SDK

    I automated this, and it's now usually done on our build server (I often skip these steps when working on my workstation; This is OK, only stuff built on our server gets distributed).

    You can take whatever scripting language/tool you like...I chose MSBuild 4.0. I can generate the GUIDs by calling into System.Guid.NewGuid() from the MSBuild project, and I fix up the pbxml and the sdkcfg using XSL stylesheets.

    I'm not sure whether using different platform GUIDs won't break something on your end. But creating unique platform and product GUIDs is the only way I know of to have multiple SDKs installed side by side, including all the device entries in Visual Studio.

    Thursday, April 7, 2011 2:10 PM
  • OK,

    the problem was in SDKs/SdkDir/obj/BuildXXX.xml file. The entry with NAME="ID" had the same value for all the SDK generated. I changed it and now all works.

    Thanks for all.

    • Marked as answer by A.BIASCI Tuesday, April 12, 2011 9:27 AM
    Tuesday, April 12, 2011 9:27 AM
  • Yes, this is the GUID I tracked down to originate from the Platform GUID in the pbxml file. Since the BuildXXX.xml files are generated by BuildSdk.exe I chose not to modify them but fix up the pbxml instead.
    Tuesday, April 12, 2011 9:34 AM