Поделиться через


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 https://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

  • Anonymous
    May 22, 2007
    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.

  • Anonymous
    August 29, 2007
    Doug Cook, a member of the Platform Builder team, wrote a post on this topic here: http://blogs.msdn.com/dcook/archive/2007/05/13/does-pb-5-0-work-side-by-side-with-pb-6-0.asp

  • Anonymous
    August 29, 2007
    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.

  • Anonymous
    September 07, 2007
    The comment has been removed

  • Anonymous
    September 17, 2007
    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?

  • Anonymous
    September 18, 2007
    The comment has been removed

  • Anonymous
    September 19, 2007
    L'installation sur une même machine des outils de développement pour Windows CE 5.0 et Windows CE 6.0

  • Anonymous
    September 25, 2007
    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.

  • Anonymous
    October 02, 2007
    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!

  • Anonymous
    October 11, 2007
    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?

  • Anonymous
    March 20, 2008
    這是從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 會搞亂一些設定。複製

  • Anonymous
    October 16, 2008
    The comment has been removed

  • Anonymous
    November 03, 2008
    How to include 3.5 compact framework as part of WinCE OS Design. ? Also SQL CE ?

  • Anonymous
    March 17, 2009
    Caught in this trap..$#$@#@$@# Wish I found this page before I started

  • Anonymous
    August 20, 2009
    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?

  • Anonymous
    August 26, 2009
    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!

  • Anonymous
    September 28, 2009
    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!