Windows Compact 7: Modify existing control panel application - windows-ce

I am replacing a backlight driver for a device running Windows Embedded Compact 7. I'm hoping I can find the source for the application and modify it to call my driver instead of the old one.
Is there a way to tie my driver's functionality into the existing "Display" Control Panel application? Is the source available for these applications and where can I find it?

Up through CE 6.0, the source code for all Windows CE Control Panels can be found on the development PC where Platform Builder is installed at:
%WINCEROOT%\PUBLIC\WCESHELLFE\OAK\CTLPNL
I don't have a CE 7.0 installation handy to verify the location, but I suspect it's going to be in the same place or something very similar if you're using a standard shell (SYSGEN_CTLPNL). If you're using the new "Silverlight" shell ('SYSGEN_CTLPNL2`), then it's likely to be in a different location, but all of the source is still available.

Related

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
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.

Need Windows CE in 3072L

I'm trying to create windows CE OS that will run in my industrial CPU using Microsoft Studio 2005. All my tried was failed.
Im trying to build a Windows CE that have
Catalog items view
Storage
Primary disk/storage/master/slave
Secondary
CAB
CF card
Device Manager
Registry flush
Pci 1710
Internet explorer
.netframework
C++
Usb
Uno3072l
Display
Audio
And other basic utilities
I hope that someone will build the windows for me without any error. And share the link here so i can download.
Or, someone who can teach me how to solve the error. I am really stuck.
The Advantech 3072L is a simple x86-basd machine. You can likely use the x86 BSP that ships with Platform Builder, though Advantech may also have a platform specific BSP for any peripherals. Without more info on the version of Platform Builder you're using, what you've tried and the errors you're seeing we can't provide much more help than that.

Does external drag&drop or copy/paste work in IntelliJ IC Linux?

Information on IntelliJ's Blog says that drag&drop in Linux is supported as it uses the same JAVA API as Windows version. However, although I've enabled this feature in the app's properties, I cannon drag a file on Linux desktop (or from any Explorer window) and drop it in some /res folder. I cannon copy a file on desktop and paste it in any /res folder as well.
Anyone knows the way to enable this feature or make it work?
PS. The same version is installed on Windows 7 x64 and drag&drop (c/p as well) works flawlessly. I use Ubuntu 10.04 x64, but I think it's the same in all distros.
PPS. I've tested both IC and IU versions and neither supports drag&drop or c/p.
As stated in the blog, this feature is supported on Windows and on Mac, there is no word about Linux.
If you want it to work on Linux, vote for IDEA-42872.

Windows CE Silverlight Setup

I have an embedded device,its includes windows CE 6.0 Build 3112.I want to run silverlight application on this device.I downloaded silverlight application,when I want to install it says "Silverlight is not valid application windows CE"
so what can i do?
Thx.
In Addition to ctacke's answer. Not all Windows CE devices have to have any specific component and that includes Silverlight for Embedded Devices.
To check whether your device includes Silverlight For Embedded devices, you can check whether your \Windows folder contains the xamlruntime.dll file. If it does not contain the file, then your OEM did not include Silverlight in the image.
If you want to check out a simple Silverlight for Embedded devices application you can download the code from the following tutorial: Silverlight for Embedded Tutorial
THe issue you're seeing is that while it's called "Silverlight", Silverlight for Windows Embedded really isn't what most developers who know Silverlight would call Silverlight (in fact I wish they'd rename it).
While it does use XAML and that XAML can be created using Blend, the code itself has to be written in heavily templated C++. You can't take a compiled Silverlight binary from anything other platform and use it under CE.

can I run Windows Embedded CE 6.0 on a regular PC?

As i just need the hard RT capabilities, can I install and run Windows Embedded CE 6.0 on a regular PC ? (dell or so ?), and UDP out some data ?
You can install Windows CE in a PC, but you would need to create your own image. See this tutorial in MSDN. Also google for CEPC.
Finally visit Mike Hall's blog. I remember reading a related article there, but I can't find it now. Anyhow, this blog is a great resource for Windows Embedded.
(From working with Windows CE 5.0, so there may be some differences, YMMV.)
You should be able to run Windows CE both in an emulator and installed on the device itself as the host operating system.
In the first case all you need is an emulator, which is provided with the development kit and in a more expensive version of Visual Studio. This will run the OS fine, albeit a bit slow depending on the architecture you choose to build the Guest OS for.
In the second case you will actually need to find or write drivers for the hardware that you want to run on and use. This will require the Platform Builder application (I believe it's a plugin to Visual Studio now) and knowledge of the hardware that you are running on. Windows CE itself does support x86 processors, although I don't remember if it supports all x86 processors (instruction sets) or just 486's.
If you want to go down the second route you also may be able to get an Intel Atom or AMD Geode board support package (BSP) which will help you develop the drivers.

Resources