Does PB 5.0 work side-by-side with PB 6.0?


Hey, PB expert guy, I have a question.


Shoot.



Can I run PB 5.0 side-by-side with PB 6.0?


Short answer or long answer?



Um, short answer, please.


Kind-of.



What kind of answer is that? This is a yes-or-no question!


Ok. Then the answer is no.



That’s not what I wanted to hear.


Oh, sorry. The customer is always right, I forgot. Yes, yes, of course you can.



Are you lying to me?


Technically, no.



I want the truth.


You can’t handle the truth.



Ha ha. Very funny.


Well, you can run them side by side, but you may or may not be happy with the results.



Hmm. You’re weaseling out of the question, aren’t you?


Yup. Weaseling is what separates us from the animals. (Except the weasel.)



Ok, then the long answer please?


Sure. But first, recognize that the following information is offered without any warrantee or guarantee. You follow these instructions at your own risk. Neither Microsoft nor dcook accepts any responsibility for the use or misuse of these instructions. Use at your own risk. Back up your data first. I’m sharing this information because it has helped others, but it may or may not help you.



Yes, I accept. (click.)


Platform Builder 5.0 and 6.0 tools do not always work perfectly when both are installed on the same computer. (Note that this refers to the PB IDE and tools, not to the OS build tree. The build tree is fairly self-contained.) Most things work, but there are a few challenges. There are also a few steps you can take to minimize the challenges.


The first thing to know is that you must install PB 5.0 first. If you’ve already installed PB 6.0, I’m sorry, but you’ll have to uninstall it. PB 5.0 broke some installation rules and will clobber some PB 6.0 settings. And there are a few things that PB 6.0 had to do that aren’t pretty, so a repair of PB 6.0 might not work either. If you’ve already installed PB 6.0 and want to install PB 5.0, your best bet is to uninstall PB 6.0 first. Here is the recommended order of installation:



  1. Install PB 5.0.

  2. Make a backup copy of all files in C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin. (Only the files in the bin folder need to be backed up. The subfolders do not need to be saved.)

  3. Install Visual Studio 2005 and all associated service packs (as of this writing, SP1, and if you’re running Vista, the SP1-Vista-GDR).

  4. Install PB 6.0 and all associated service packs (as of this writing, SP1).

  5. Compare the current set of files in the Platman\bin folder with the set of files you backed up. Restore any missing files. (Do NOT overwrite any existing files.)

  6. If you have any Connection Manager device settings that were created with PB 5.0, you’ll need to delete them and recreate them.

At this point, PB 5.0 and PB 6.0 should both be mostly working – or at least as well as can be expected.



What’s that supposed to mean?


Well, the above steps worked for me. But there are all kinds of things that could go wrong, and I may not have tested some aspect of PB that is important to you, so this may not work perfectly for everybody.


The largest trouble spots are with the x86 Emulator, the Remote Tools (especially PerfMon and CeCap), and with CoreCon (download and KITL transports).



Why is this such a problem in the first place? Why don’t you just fix this mess?


I would love nothing better than to fix this mess. Unfortunately, as long as we support cemgr.exe, we’re going to have some side-by-side troubles with the Platman\bin folder. Back in PB 4.0, when the best practices for MSI development were not nearly as well-known as they are today (and they still aren’t very well-known), a few mistakes were made in the development of the PB 4.0 Platman install. The result is that if a file was part of the PB 4.0 Platman install in the Platman\bin folder, and we want that file to still exist after PB 6.0 is installed, we have to include that file in PB 6.0. Due to various security and legal issues, there are a few files that were part of PB 4.0 that we can no longer ship in PB 6.0. As a result, installing PB 6.0 causes these files to mysteriously disappear.



Any other issues?


Yeah. If you uninstall either PB 5.0 or PB 6.0, you’ll probably have to repair the remaining version of PB before it runs correctly (Add/Remove Programs, select PB, then select Repair). Certain registry settings for COM interfaces can’t really be properly shared between versions of PB.


Also, the CoreCon datastore is a bit more fragile than I would have liked. Sometimes things go wrong with the datastore resulting in problems when you launch Connection Settings from PB or when you try to create a Visual Studio for Devices project. (You may also run into problems while installing PB 6.0 if your datastore is corrupt.) If you have trouble with the CoreCon datastore, try the following:



  1. 1. You can safely delete your local (per-user) CoreCon datastore settings. (See http://msdn2.microsoft.com/en-us/library/ms184403(VS.80).aspx for details.) This sometimes fixes issues with launching Connection Settings or with creating VSD projects. Go to your user’s application data directory, navigate to the Microsoft folder, and delete the CoreCon directory. For example, ‘rd /s “C:\Documents and Settings\YourUserName\Local Settings\Application Data\Microsoft\CoreCon” ‘. (Warning: DO NOT delete the CoreCon settings under All Users!) The next time you activate CoreCon, it will rebuild your per-user datastore. You will lose any devices that you may have configured, but it shouldn’t be too hard to recreate them.

  2. 2. If the above does not help, you may have a problem with your global (all users) CoreCon datastore settings. This is a hard problem to solve. These files are in the All Users application data area (i.e. C:\Documents and Settings\All Users\Application Data\Microsoft\CoreCon\1.0, or C:\ProgramData\Microsoft\CoreCon\1.0 on Vista). You can’t just delete these files and hope they come back (because they won’t). This might work:


    1. Make a backup copy of the data in the CoreCon\1.0 folder.

    2. No, seriously. Make a backup copy. If you lose the data in this folder, it may be quite difficult to get it back.

    3. Rename the 1.0 folder to something else, like “1.0_original”.

    4. If a friend or co-worker has a working installation with a similar set of programs (i.e. they successfully installed PB 5.0, VS 2005, and PB 6.0), try copying the data from the other computer to your computer. Ensure that you’ve deleted the per-user CoreCon data (step 1 above), then launch PB 5.0 or VS 2005 and try to open Connection Settings.

    5. If this doesn’t work, rename this folder out of the way (i.e. rename it to 1.0_from_other_computer), then try a repair install of PB 5.0, then VS 2005, then PB 6.0.


Yikes!


Yeah. Tell me about it.


Some people have had better luck just installing PB 5.0 and 6.0 on separate machines, dual-booting, or even installing PB 5.0 into a Virtual PC image.


There are also ways to make PB 6.0 work with OS trees from CE 5.0, but that is a more complicated subject (and while it generally works, it is definitely unsupported by Microsoft).

Comments (17)

  1. dvescovi says:

    Yea, this one got me too. Big mistake installing CE 6.0 on my (was working)  5.0 machine.

    Even totally uninstalling CE 6 then 5.0 did not fix the problem.

  2. Chris says:

    I’ve been using a side by side installation of PB 5.0 and PB 6.0 since the beta release of PB 6.0. I mostly work on ARM based projects, and appart from one or two little work arounds I’ve never really had much trouble.

  3. Dean Ramsier says:

    Great info!  One thing to add, there is a dependency between QFE installation and CE6 service pack 1.   The kernel debugger will break if the QFEs (more specifically, one of the early ones) are installed after CE6 SP1.  So the installation order should be

    1 – VS2005

    2 – VS2005 SP1

    3 – CE6 plugin

    4 – CE6 Cumulative QFE through 12/06 (this contains a kernel debugger update)

    5 – CE6 SP1 (this also contains a kernel debugger update)

    6 – The rest of the QFEs

    If 4) and 5) are flipped, the update in the QFE will overwrite the update in the SP since it doesn’t know about it (QFE was released before the SP)

    Dean

  4. Richard says:

    I’ve had both 5.0 and 6.0 installed without any problems until now. This morning after creating an SDK off PB 6 and installing it, my application project no longer loads (user datastore error, platform does not exist), nor can I create any new "mobile" type application projects. My PB O/S design loads (with an error) but Target > Connection Settings does nothing. I have tried the corecon user settings solution detailed above with no improvement.

    Is it likely that the SDK creation/installation could have triggered the kind of problems outlined in your post?

  5. dcook says:

    Richard:

    I’ve never had that happen to me, but it sadly makes sense. SDKs register themselves in the CoreCon data store. If the CoreCon data store becomes corrupted, related functionality such as VSD and the PB Connectivity Settings dialog will no longer work.

    The general issue is well-known to me and my group, but the CoreCon data store is owned by a different team and I don’t really know how it works (other than that it sometimes gets messed up and that you can sometimes fix it as detailed above). We’re doing our best to encourage them to improve the data store’s reliability.

    You might be able to restore functionality by deleting the All Users part of the data store (save a copy first!), which is under "Documents and SettingsAll Users" on XP, and under "ProgramData" on Vista. Then do a repair install of VS 2005 and PB 6.0. Cross your fingers. Good luck, and let me know how it turns out!

  6. L’installation sur une même machine des outils de développement pour Windows CE 5.0 et Windows CE 6.0

  7. David Jones says:

    Also, as I understand it (and experience) , PB5 won’t work on Vista.

    There are some patches/fixes required for CE 6 on Vista as well.

  8. dcook says:

    David:

    Yes, parts of PB 5 do not work well under Vista. I haven’t tried it, but I know of several ways that Vista can cause problems with PB 5. Some parts apparently work ok — I’ve heard of people successfully using PB 5 under Vista for debugging, but there are definitely some issues.

    CE 6 mostly works under Vista, but it works much better after applying SP1.

    For the next version, we’ve got no excuses!

  9. sudhindra says:

    I have both PB 5.0 and PB 6.0 installed on my system and using it succesfully quite for sometime now, but i am having problem in using the remote tools for PB 5.0 (PB6.0 remote tools works fine) , I checked upon my back up files of PB 5.0 and looks fine.  Do we have any solution for this problem?

  10. checko says:

    這是從CE blog 的chat log 出現的 :http://blogs.msdn.com/dcook/archive/2007/05/13/does-pb-5-0-work-side-by-side-with-pb-6-0.aspx

    大致上是說..PB5.0 和 PB 6.0 不能在同一個PC上的原因大部分是IDE的關係,他們的build system 是完全獨立的,不會互相影響。但是要讓5.0 和 6.0 一同安裝,要依照以下方法:先安裝PB 5.0,因為PB5.0 會搞亂一些設定。複製

  11. Frank.Z says:

    Thanks for the info thought it is sad story. If PB6 is not compatible or more capable than PB5, then why don’t you use another product line, use different registry key etc so that these two products can co-exist without conflict.

  12. PrashanthYP says:

    How to include 3.5 compact framework as part of WinCE OS Design. ?

    Also SQL CE ?

  13. Nishanth says:

    Caught in this trap..$#$@#@$@# Wish I found this page before I started

  14. Marcelo says:

    I also have a PB5 and PB6 installed. PB5 works fine, but PB6 can not attach to the device. It does not open the download window, like ce 5 does. It keeps waiting for a remote connection when I try to attach. From the telnet session, you can see the board hopeless sending a BOOTME packet.

    This bootme packet is received in the Target Connectivity window, I can configure for Transport and Download normally.

    I´ve tried to disable the windows firewall, but yet, no luck. Any Ideas?

  15. SavedbyGrace says:

    I had installed PB 6 and then(without uninstalling PB6) installed PB5 due to a project requirement on my system. Then i opened PB5 and tried to open Connectivity Settings. Then i got the error, "platform builder was unable to read the device settings from the datastore".

    I then followed the advice by dcook, uninstalled PB6, deleted the Corecon files under My Local account and all users account and repaired the PB 5 installation.

    Now i can open Connectivity Settings in PB5.

    Thanks for this post!

  16. windowless says:

    I made a similar mistake: installed pb6, removed it and try to install pb5 – got a lovely and meaningfull message about setup wizard interrupted. Some residual files are still remaining in the ProgramFilesMicrosoftPlatformBuilder6.00 subdirectory. I am wondering how I can "repair" the system after pb6 uninstall!