This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Windows CE" – news ·newspapers ·books ·scholar ·JSTOR(February 2017) (Learn how and when to remove this message) |
![]() Wordmark of Windows CE (in versions 4.x and5.0) | |
Developer | Microsoft |
---|---|
Written in | C[1] |
Source model | |
Initial release | November 16, 1996; 28 years ago (1996-11-16) |
Final release | 8.0 (Embedded Compact 2013) / October 10, 2023; 17 months ago (2023-10-10)[3][4] |
Platforms | x86,32-bitARM, (SuperH[5] up to 6.0 R2,MIPS andPowerPC were also supported)[6][7][8][9][10][11] |
Kernel type | Hybrid Monolithic |
License | Commercialproprietary software |
Succeeded by | Windows IoT |
Official website | msdn |
Support status | |
Not supported, see§ Releases for details. |
Windows CE, later known asWindows Embedded CE andWindows Embedded Compact, is a discontinuedoperating system developed byMicrosoft formobile andembedded devices. It was part of theWindows Embedded family[12] and served as the software foundation of several products including theHandheld PC,Pocket PC,Auto PC,Windows Mobile,Windows Phone 7 and others.
UnlikeWindows Embedded Standard,Windows For Embedded Systems,Windows Embedded Industry andWindows IoT, which are based onWindows NT, Windows CE uses a differenthybrid kernel.[13] Microsoft licensed it tooriginal equipment manufacturers (OEMs), who could modify and create their ownuser interfaces and experiences, with Windows Embedded Compact providing the technical foundation to do so.
Earlier versions of Windows CE worked onMIPS andSHx architectures, but inversion 7.0 released in 2011—when the product was also renamed to Embedded Compact—support for these were dropped but remained forMIPS II architecture. The final version, Windows Embedded Compact 2013 (version 8.0), released in 2013, only supportsx86 andARM processors withboard support package (BSP) directly.[14] It had mainstream support until October 9, 2018, and extended support ended on October 10, 2023; however, license sales for OEMs will continue until 2028.[15][4][16][17]
Windows CE is optimized for devices that have minimal memory; a Windows CE kernel may run with onemegabyte ofmemory.[18] Devices are often configured withoutdisk storage, and may be configured as a "closed" system that does not allow for end-user extension (for instance, it can be burned intoROM). Windows CE conforms to the definition of areal-time operating system, with a deterministic interrupt latency. From Version 3 and onward, the system supports 256 priority levels[19] and usespriority inheritance for dealing withpriority inversion. The fundamental unit of execution is thethread. This helps to simplify the interface and improve execution time.
The first version – known during development under thecode name "Pegasus" – featured a Windows-likeGUI and a number of Microsoft's popular apps, all trimmed down for smaller storage, memory, and speed of the palmtops of the day. Since then, Windows CE has evolved into a component-based, embedded, real-time operating system. It is no longer targeted solely at hand-held computers.[20] Many platforms have been based on the core Windows CE operating system, including Microsoft'sAutoPC,Pocket PC 2000,Pocket PC 2002,Windows Mobile 2003,Windows Mobile 2003 SE,Windows Mobile 5,Windows Mobile 6,Smartphone 2002,Smartphone 2003,Portable Media Center,Zune,Windows Phone 7 and many industrial devices and embedded systems. Windows CE even powered select games for theSegaDreamcast and was theoperating system of theGizmondo handheld.
A distinctive feature of Windows CE compared to other Microsoft operating systems is that large parts of it are offered in source code form. First, source code was offered to several vendors, so they could adjust it to their hardware. Then products like Platform Builder (an integrated environment for Windows CE OS image creation and integration, or customized operating system designs based on CE) offered several components in source code form to the general public. However, a number of core components that do not need adaptation to specific hardware environments (other than the CPU family) are still distributed in binary only form.
Windows CE uses WCELDR as its boot loader, and uses manufacturer-prebuiltRegistry to manage hardware devices.[21]
Windows CE 2.11 was the first embedded Windows release to support a console and a Windows CE version ofcmd.exe.[22]
Windows Embedded Compact was formerly known as Windows CE. According to Microsoft, "CE" is not an explicit acronym for anything, although it implies a number of notions that Windows developers had in mind, such as "compact", "connectable", "compatible", "companion" and "efficient".[23][24] The name changed once in 2006, with the release ofWindows Embedded CE 6.0, and again in 2011, with the release ofWindows Embedded Compact 7.
Windows CE was originally announced by Microsoft at theComputer Dealers' Exhibition (COMDEX) in 1996 and was demonstrated on stage byBill Gates and John McGill. Microsoft had been testing Pegasus in early 1995 and released a strict reference platform to several hardware partners. The devices had to have the following minimum hardware specifications:
Devices of the time mainly had 480×240 pixel displays with the exception of theHewlett-Packard 'Palmtop PC' which had a 640×240 display. Each window took over the full display. Navigation was done by tapping or double tapping on an item. A contextual menu was also available by the user pressing the ALT key and tapping on the screen. Windows CE 1.0 did not include a cascading Start menu, although Windows 95 and Windows NT 4.0 did. Microsoft released the Windows CE 1.0 Power Toys that included a cascading menu icon that appeared in the system tray. Also bundled were several other utilities, most notable were a sound applet for the system tray, enabling the user to quickly mute or unmute their device or adjust the volume and a 'pocket' version of Paint.
The release of Windows CE 2.0 was well received. Microsoft learned its lessons from consumer feedback of Windows CE 1.0 and made many improvements to the operating system. The Start menu was a cascading menu, identical to those found onWindows 95 andWindows NT 4.0. Color screens were also supported and manufacturers raced to release the first colorH/PC. The first to market was Hewlett Packard with theHP 620LX. Windows CE 2.0 also supported a broader range of CPU architectures. Programs could be also installed directly in the OS by double clicking on CAB files. Due to the nature of the ROMs that contained the operating system, users were not able to flash their devices with the newer operating system. Instead manufacturers released upgrade ROMs that users had to physically install in their devices, after removing the previous version. This would usually wipe the data on the device and present the user with the setup wizard upon first boot.
In November 1999, it was reported that Microsoft was planning to rename Windows CE toWindows Powered.[25] The name only appeared in brand in Handheld PC 2000 and a build ofWindows 2000 Advanced Server fornetwork-attached storage devices (which bears no relation to Windows CE). Various Windows CE 3.0 products announced atCES 2001 were marketed under a "Windows Powered" umbrella name.[26]
MicrosoftVisual Studio 2012, 2013, and 2015 support apps andPlatform Builder development for Windows Embedded Compact 2013.[27]
Microsoft Visual Studio 2008 and earlier support projects for older releases of Windows CE/Windows Mobile, producing executable programs and platform images either as an emulator or attached by cable to an actual mobile device. A mobile device is not necessary to develop a CE program. The.NET Compact Framework supports a subset of the.NET Framework with projects inC#, andVisual Basic (.NET), but notManaged C++. "Managed" apps employing the .NET Compact Framework also require devices with significantly larger memories (8 MB or more) while unmanaged apps can still run successfully on smaller devices. In Visual Studio 2010, the Windows Phone Developer Tools are used as an extension, allowing Windows Phone 7 apps to be designed and tested within Visual Studio.
Free Pascal introduced the Windows CE port in Version 2.2.0, targeting ARM and x86 architectures. Later, the Windows CE header files were translated for use withLazarus, arapid application development (RAD) software package based on Free Pascal. Windows CE apps are designed and coded in the Lazarusintegrated development environment (IDE) and compiled with an appropriatecross compiler.[28]
Thisprogramming tool is used for building the platform (BSP +Kernel),device drivers (shared source or custom made) and also the apps. This is a one stop environment to get the system up and running. One can also use Platform Builder to export asoftware development kit (SDK) for the targetmicroprocessor (SuperH, x86, MIPS, ARM etc.) to be used with another associated tool set named below.
TheEmbeddedMicrosoft Visual C++ (eVC) – atool for development of embedded apps for Windows CE. It can be used standalone using the SDK exported from Platform Builder or using the Platform Builder's Platform Manager connectivity setup.
CeGcc project provides GNU development tools, such as GNU C, GNU C++ andbinutils that targeting Windows CE;[29] 2 SDKs are available to choose from – a standard Windows CE platform SDK based onMinGW, and anewlib-based SDK which may be easier for porting programs from POSIX systems.[30]
CodeGearDelphi Prism – runs in Visual Studio, also supports the .NET Compact Framework and thus can be used to developmobile apps. It employs theOxygene compiler created byRemObjects Software, which targets .NET, the .NET Compact Framework, andMono. Its command-line compiler is available free of charge.
Basic4ppc – aprogramming language similar toEmbedded Visual Basic, targets the.NET Compact Framework and supports Windows CE and Windows Mobile devices.
GLBasic – a very easy to learn and use BASIC dialect that compiles for many platforms, including Windows CE and Windows Mobile. It can be extended by writing inline C/C++ code.
LabVIEW – a graphical programming language, supporting many platforms, including Windows CE.
MortScript – is the semi-standard, extremely lightweight, automation SDK popular with the GPS enthusiasts. Uses the scripts written in its own language, with the syntax being aside toVBScript orJScript.
AutoHotkey – a port of the open source macro-creation and automation software utility available for Windows CE. It allows the construction of macros and simpleGUI apps developed by systems analyst Jonathan Maxian Timkang.[31]
Often Windows CE,Windows Mobile, andPocket PC are used interchangeably, in part due to their common origin. This practice is not entirely accurate. Windows CE is a modular/componentized operating system that serves as the foundation of several classes of devices. Some of these modules provide subsets of other components' features (e.g. varying levels of windowing support;DCOM vsCOM), others which are separate (bitmap orTrueType font support), and others which add additional features to another component. One can buy a kit (the Platform Builder) which contains all these components and the tools with which to develop a custom platform. Apps such asExcel Mobile (formerly Pocket Excel) are not part of this kit. The older Handheld PC version of Pocket Word and several other older apps are included as samples, however.
Windows Mobile is best described as a subset of platforms based on a Windows CE underpinning. Currently, Pocket PC (now called Windows Mobile Classic), Smartphone (Windows Mobile Standard), and Pocket PC Phone Edition (Windows Mobile Professional) are the three main platforms under the Windows Mobile umbrella. Each platform uses different components of Windows CE, plus supplemental features and apps suited for their respective devices.
Pocket PC and Windows Mobile are Microsoft-defined custom platforms for general PDA use, consisting of a Microsoft-defined set of minimum profiles (Professional Edition, Premium Edition) of software and hardware that is supported. The rules for manufacturing a Pocket PC device are stricter than those for producing a custom Windows CE-based platform. The defining characteristics of the Pocket PC are thetouchscreen as the primaryhuman interface device and its extremely portable size.
CE 3.0 is the basis for Pocket PC 2000 and Pocket PC 2002. A successor to CE 3.0 is CE.net.[32] "PocketPC [is] a separate layer of code on top of the core Windows CE OS… Pocket PC is based on Windows CE, but it's a different offering." And licensees of Pocket PC are forbidden to modify the WinCE part.[33]
TheSmartphone platform is a feature-rich OS and interface for cellular phone handsets. SmartPhone offers productivity features to business users, such as email, and multimedia abilities for consumers. The SmartPhone interface relies heavily on joystick navigation and PhonePad input. Devices running SmartPhone do not include a touchscreen interface. SmartPhone devices generally resemble other cellular handset form factors, whereas most Phone Edition devices use a PDA form factor with a larger display.
Version | Name | Released | Support status | Changes |
---|---|---|---|---|
1.0 | Windows CE 1.0 | November 16, 1996[34] | Unsupported as of December 31, 2001. | Codename "Pegasus" and "Alder".[35] 1.01 version (1.0a) – addedJapanese language support. |
2.0 | Windows CE 2.0 | September 29, 1997[36] | Unsupported as of September 30, 2002 for Windows CE 2.11. Mainstream Support ended on September 30, 2003, and Extended Support ended on September 30, 2005, for Windows CE 2.12. | Codenamed "Birch".[35]
2.11 version (Palm-Size PC 1.1) – changed screen resolution toQVGA, addedhandwriting recognition.2.11 version (Palm-Size PC 1.2) – based on Windows CE H/PC 2.11 kernel, removedPocket Office.HandeldPC 2.11 version (HandheldPC Professional) – added small versions ofMicrosoft Access, improvedMicrosoft Office documents formats support. |
3.0 | Windows CE 3.0 | June 15, 2000[37] | Mainstream Support ended on September 30, 2005, and Extended Support ended on October 9, 2007. | Codenamed "Cedar"[35] and "Galileo".
|
4.x | Windows CE 4.x | January 7, 2002[38] | Mainstream Support ended on July 10, 2007, and Extended Support ended on July 10, 2012, for Windows CE 4.0, Mainstream Support ended on January 8, 2008, and Extended Support ended on January 8, 2013, for Windows CE 4.1 and Mainstream Support ended on July 8, 2008, and Extended Support ended on July 9, 2013, for Windows CE 4.2. | Codenamed "Talisker/Jameson/McKendric".[35]
|
5.0 | Windows CE 5.x | August 2004.[35] | Mainstream Support ended on October 13, 2009 and Extended Support ended on October 14, 2014. | Adds many new features. Codenamed "Macallan"[35]
|
6.0 | Windows Embedded CE 6.0 | September 2006 | Mainstream Support ended on April 9, 2013, and Extended Support ended on April 10, 2018. | Codenamed "Yamazaki".[35]
|
7.0 | Windows Embedded Compact 7 | March 2011 | Mainstream Support ended on April 12, 2016, and Extended Support ended on April 13, 2021. |
|
8.0 | Windows Embedded Compact 2013 | June 2013 | Mainstream Support ended on October 9, 2018, and Extended Support ended on October 10, 2023. |
|