none
Where is the platform GUID really used? RRS feed

  • Question

  • I guess every once in a while somebody realizes that if he wants to build an SDK where you can install multiple versions of the same SDK on the same machine he needs to fix up both the platform guid (in the pbxml) and the product guid (in the sdkcfg). By now I'm really wondering about the platform GUID:

    • Visual Studio / Platform Builder seem to abuse it as the project GUID: if I fix up a pbxml and then open a solution that contains the pbxml, Visual Studio fill fix up the GUID in the solution file.
    • The device installed by the SDK (that is, the devices you can list in VS under Tools->Options->Device Tools->Devices) is identified by the platform GUID.

    Is anybody aware of more uses of the platform GUID? Especially, does the platform GUID end up in OS images in any way?


    Cheers
    Kartoffelsalat

    Tuesday, May 3, 2011 9:11 AM

All replies

  • It is also put in the registry on the device:

    [HKEY_LOCAL_MACHINE\Windows CE Tools]
      "Platform"="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"

    When building applications against the SDK and deploying to the device, the GUID is checked.

    I am not sure why you think PB is abusing them, seems like fixing your mismatched files is a good thing.


    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com
    Tuesday, May 3, 2011 1:48 PM
    Moderator
  • Odd. I have two Windows Embedded Compact 7 OS images here (one for Virtual PC, one for one of these http://www.variscite.com/products/item/5-var-som-om37), and neither of them contain that registry key.

    Windows CE 6.0 R3 appears to have it, checked that with another board I happened to have lying around.

    I'm just wondering whether I might run into problems regarding OS upgrades or anything like that if I modify the platform GUID to get SDKs that can be installed in parallel, but I'll soon run some tests and find out, I guess.

     

     

    You might disagree, and it doesn't really matter, but I'll try to explain anyway why I'm saying VS2008 is abusing the platform GUID as project GUID. I'm talking about these bits here inside solution files:

    Microsoft Visual Studio Solution File, Format Version 10.00
    # Visual Studio 2008
    Project("{901F95BB-0EF7-4A93-94B5-A8655FA8CA96}") = "VAR_SOM_OM37", "VAR_SOM_OM37\VAR_SOM_OM37.pbxml", "{9678666E-18D7-4197-9098-377BE64C8469}"
    EndProject
    ...more stuff here...

    The bold thing is the platform GUID, which in normal VS projects (e.g. a C# application) is really just a GUID identifying a project file (and nothing else, especially not a bit of software created by the project file). As a side note, I never really understood what the point of having these project GUIDs and duplicating them into solution files is, if Visual Studio silently fixes them up if they don't match. You'd think an existing relative or absolute path would be sufficient. In my book this is abuse =)


    Tuesday, May 3, 2011 2:06 PM