Search code examples
windows-ceplatform-builder

Running Platform Builder 5.0 on recent operating systems


Platform Builder 5.0 is only supported on Windows 2000 and XP.

This question is to aid those looking for a way to run Platform Builder 5.0 on more recent operating systems.

A few reasons one might want to do that:

  • Corporate IT policy may not permit the use of Windows 2000/XP
  • With time, genuine copies of Windows 2000/XP may become increasingly hard to obtain
  • Depending on your overall setup and requirements, might eliminate the need for using a virtual machine for Platform Builder 5.0
  • You may simply wish to run a more modern and secure operating system

Solution

  • This answer explains how to install and run Platform Builder 5.0 on operating systems it is not officially supported on.

    Windows Server 2008 and 2012

    This procedure has been found to work on:

    • Windows Server 2008 (32-bit)
    • Windows Server 2012
    • Windows Server 2012 R2

    It is recommended that you install Platform Builder before joining a Windows domain. I've had some issues getting the Platform Manager components registered while logged in as a domain user. See also the description further below.

    Virus protection software might prevent the installation of .NET Framework 1.1, at least this has been a problem with Symantec Endpoint Protection. You may have to remove any security products before starting the installation (these may be re-installed later, but see the note below on the Full vs. Basic version of Symantec EP).

    To install PB5, start by copying the contents of the installation CD (or mounted .iso) to a local folder, from here onwards referred to as the installation folder.

    Use an .msi editor (like Orca) to remove the following entries from Microsoft Windows CE 5.0.msi in the installation folder:

    • OS version check (Table LaunchCondition, Action (MsiNTProductType=1 OR ...)
    • Emulator device driver (Table InstallExecuteSequence, Action CA_InstallVMMDriver.3D2F911E_A60A_4C07_8F7D_5306DC073E9A)

    From the installation folder, run, in this order

    • ISScript8.msi (installs the InstallShield 8.0 script engine)
    • dotnetfx.exe (installs .NET Framework 1.1)
    • Microsoft Windows CE 5.0.msi (installs Platform Builder 5.0)

    The installation may appear to hang at the Registering Platform Manager components step. It should proceed after a few minutes. If it is still stuck after, say, ten minutes, and your machine is joined to a Windows domain, then kill the installer in Task Manager, leave the domain and try installing again (you can rejoin after the installation is complete).

    During the installation, you will receive a warning about compatibility issues. Select Don't show this warning again and click Run the program without getting help.

    After the installation has finished, add a registry entry as follows.

    If installing on a 32-bit system:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools]
        "SharedFilesDir"="C:\Program Files\Common Files\Microsoft Shared\"
    

    Otherwise (installing on a 64-bit system):

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Shared Tools]
        "SharedFilesDir"="C:\Program Files (x86)\Common Files\Microsoft Shared\"
    

    Next, install Windows CE / Platform Builder updates as required (i.e. the "monthly updates" provided by Microsoft).

    Optional: If any of your Windows CE targets require CJK support, you will need to update the cenlscmp tool to avoid an error during the makeimg phase. While this bug has long been fixed in Platform Builder 6.0 (PB6), the PB5 version has been left in the dust. So for CJK support you will need to copy cenlscmp from a PB6 installation, i.e. copy C:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386\cenlscmp.exe to the corresponding folder in your new WINCE500 tree. Note that I've only tested the PB6 version; it is likely that newer versions would work too.

    Optional: If you need support for building SDKs, you must make a copy of the Platform Builder help files, or a hard-coded assumption in the SDK builder will cause the build to fail. Copy the directory C:\Program Files (x86)\Windows CE Platform Builder\5.00\cepb\help to C:\Program Files\Windows CE Platform Builder\5.00\cepb\help.

    Launch Platform Builder.

    You will see a warning about compatibility issues. Select Don't show this warning again and click Run the program without getting help.

    Optional: In the main window, click Tools | Customize. Click the Build OS menu once to open it. Drag the Build and Sysgen menu item out of the menu and drop it when the cursor displays a small 'X'. This will remove a dangerous command that, if clicked by accident, will require reinstalling Platform Builder. Hit Close to dismiss the Customize dialog box.

    Platform Builder 5.0 is now ready to use, including the IDE itself, the build system, the help system, the debugger, and the run-time licensing tool.

    Features that I haven't tested and which may or may not work include CETK and the emulator (the latter highly unlikely to work, as the emulator device driver had to be removed from the .msi).

    If you use Symantec Endpoint Protection, be aware that the Full version may prevent pbxmlutils - an important Platform Builder tool - from running. This does not appear to be an issue with the Basic version.

    One last hurdle is to configure the firewall to permit debugger traffic. To do this, open Windows Firewall with Advanced Security and

    • Under Inbound Rules, hit New Rule...
    • Select Program, Next
    • Enter the Path %ProgramFiles% (x86)\Windows CE Platform Builder\5.00\CORECON\BIN\cesvchost.exe, click Next
    • Ensure Allow the connection is selected, Next
    • Ensure Private and Domain are selected (but not Public, unless you really need this), Next
    • Enter a Name, e.g. "Platform Builder 5.0 debugger - cesvchost", Finish

    Repeat the above with the path %ProgramFiles% (x86)\Common Files\Microsoft Shared\Windows CE Tools\Platman\bin\cemgr.exe.

    Platform Builder will now be able to receive BOOTME frames, upload images, and connect to target with the kernel debugger.

    Windows 7 and 8

    The procedure documented above will not work for 64-bit Windows 7 or 8 (32-bit not tested).

    Modifying the .msi as described makes the installation hang at the Registering Platform Manager components step. Removing the Platform Manager components from the installer causes a number of other issues, including failed registrations of the Help system and some common controls. More importantly, with Platform Manager missing it will not be possible to install any Windows CE/Platform Builder updates, making it virtually impossible to build any non-trivial CE project.

    Windows 10

    Not tested.