none
Windows Compact Programming RRS feed

  • Question

  • I am starting on a project that will require programming for Windows Compact 7.  I am not familiar with windows embedded at all.

    In terms of how to write the program.  Is it recommended to use the .NET compact framework or to use native C++.

    The application will connect to a server (either through usb or wifi) and manipulate user input data, so nothing too complex.

    I've also heard that silverlight can be used in Windows Compact, however, I'm unsure of how they all come together.

    Any guidance is much appreciated.


    Thank you,

    Thursday, September 13, 2012 6:31 PM

Answers

  • Hey mg527,

    What sort of platform/device you are developing for?

    If you are programming an application for a specific device/product, I would contact the manufacturer and see if they can provide support, the main thing to look out for is something called an SDK.

    Embedded devices are not like PCs that run standard operating systems, they run highly customized operating systems that are tuned to run on the low memory, low power and small sized processors of these devices.

    The cut down versions of the operating systems, especially for older devices (windows CE 5.0) don't all support .NET CF although most WC7 devices will support .NET CF so you should be OK with either language.

    The availability of Silverlight is another thing, I think Silverlight is sill relatively rare among WC7 devices, you'll have to do some research on that.

    You will also need to find a way to get your program compiled to run on an embedded device, this is done by selecting the appropriate SDK, I think VS2008 comes with some generic SDKs built in, but I have only produced device-specific applications for which I have managed to obtain an SDK from the device manufacturer. If you are only doing basic stuff (as you mentioned) your application should still be relatively portable across devices with the same processor as the one that you developed the original application for.

    Another difference between Windows Compact and 'normal' Windows is that the WC7 operating system runs in RAM, so whenever the device loses power, your application will need to be re-installed, there are ways and means to do this automatically but this will also often be device-specific.

    Also note that VS2010 does not currently support programming for embedded devices, so you might have to downgrade.

    Welcome to the world of embedded development, Good Luck!

    • Marked as answer by mg527 Friday, September 14, 2012 1:01 AM
    Friday, September 14, 2012 12:00 AM

All replies

  • Hey mg527,

    What sort of platform/device you are developing for?

    If you are programming an application for a specific device/product, I would contact the manufacturer and see if they can provide support, the main thing to look out for is something called an SDK.

    Embedded devices are not like PCs that run standard operating systems, they run highly customized operating systems that are tuned to run on the low memory, low power and small sized processors of these devices.

    The cut down versions of the operating systems, especially for older devices (windows CE 5.0) don't all support .NET CF although most WC7 devices will support .NET CF so you should be OK with either language.

    The availability of Silverlight is another thing, I think Silverlight is sill relatively rare among WC7 devices, you'll have to do some research on that.

    You will also need to find a way to get your program compiled to run on an embedded device, this is done by selecting the appropriate SDK, I think VS2008 comes with some generic SDKs built in, but I have only produced device-specific applications for which I have managed to obtain an SDK from the device manufacturer. If you are only doing basic stuff (as you mentioned) your application should still be relatively portable across devices with the same processor as the one that you developed the original application for.

    Another difference between Windows Compact and 'normal' Windows is that the WC7 operating system runs in RAM, so whenever the device loses power, your application will need to be re-installed, there are ways and means to do this automatically but this will also often be device-specific.

    Also note that VS2010 does not currently support programming for embedded devices, so you might have to downgrade.

    Welcome to the world of embedded development, Good Luck!

    • Marked as answer by mg527 Friday, September 14, 2012 1:01 AM
    Friday, September 14, 2012 12:00 AM
  • Thank you very much, you explained a lot of things I was having trouble understanding.  So this is more like developing for phones rather than for a desktop.

    Where you mentioned that if the power is lost the program is uninstalled, does that mean data is lost as well, in which it would have to be stored on an external storage or over wifi to a server.  The application I'm designing for (we haven't selected a tablet yet, just researching) is very data sensitive.  Is Windows Embedded Standard different?  Is that more like the desktop OS in function and development?

    Thank you again you really helped me out.

    Friday, September 14, 2012 12:52 AM
  • Yes it is exactly like developing for pones. Windows Phone 7 OS is based on a WC7 operating system.

    I'm not sure about Windows Embedded Standard, I think it will only run on X86 devices (standard PCs and some tablets).

    You can still store data to an external memory device (USB drive or SD card) or to a reserved partition (the size and name of this is also often device specific). The registry (as long as you call the RegFlushKey() function) is also non-volatile (unless the customer does a Clean Boot). It is just the other parts of the installation that you will have to do when the device powers up.

    Friday, September 14, 2012 1:01 AM
  • Thanks again, you've been very helpful.
    Friday, September 14, 2012 1:02 AM