Wednesday, June 30, 2010

Windows Embedded Compact 7 (aka CE7)

It’s not a fresh news, but I just would like to share with you that at the beginning of June Microsoft officially announced the next version of Windows Embedded CE, now named Windows Embedded Compact 7, and made it available for a public technology preview. If interested, more information are available on Microsoft Windows Embedded CE website. A device equipped with Compact 7 has already been shown at Computex 2010, you can see it in this video:

I’m starting these days to play around with the new development platform, so stay tuned for articles and updates.

Tuesday, June 29, 2010

EWF in Windows Embedded Standard 7

While developing a custom shell for a project, I encountered a strange behavior while enabling/disabling EWF protection. For development purposes, I created a Windows Embedded Standard 7 thin client image using IBW, including EWF feature with all default settings. Everything worked fine until I tried to start playing with the disk protection. According to MSDN documentation, EWF can be controlled via EWF Manager tool (EWFMGR) from a console window (with Administrator rights) or programmatically by using EWF APIs.

In the custom shell that I was developing, I needed to control EWF state according to a number of internal procedures: in some cases the protection had to be enabled and in others it had to be disabled. I had no problems when enabling the protection (both via console and programmatically), while the strange thing happened in disabling the protection.

I was expecting that the protection could be disabled in the same way it can be enabled, just by invoking the ewfmgr –disable command from a console window or by using the EwfMgrDisable API function, followed by a device reboot. But that didn’t work. After the device restart, the EWF protection was still enabled. At first I thought I didn’t configure properly the EWF protection when installing the image via IBW, so I created an answer file with ICE, configured the EWF feature with default parameters and then deployed the image again. No way, again: the protection, once enabled, couldn’t be disabled anymore. How to solve the problem?

After many retries and a lot of frustration, I found the solution looking inside the EWF API samples (I couldn’t find any reference about that in MSDN documentation): a comment to the EwfMgrDisable function clearly stated that when EWF is configured in RAM REG mode (as it is when using default settings in Widows Embedded Standard 7), it is necessary to perform a commit operation after calling the disable function. Instead, if EWF is configured in RAM mode, just the disable operation will suffice. Additionally, the same result can be obtained using  ewfmgr –commitanddisable [–live] command (with –live option, no reboot is required) or, through API, with EwfMgrCommitAndDisableLive function.

I hope this little addendum to MSDN documentation can save you time and troubles while using EWF in Windows Embedded Standard 7.

Friday, June 25, 2010

Windows Embedded Standard 7 CTP/RC and RTM answer files compatibility issue

This morning, while building a Windows Embedded Standard 7 image for a project, my colleague and I encountered an unexpected sneaky problem. In the office we have various development machines equipped with different versions of Windows Embedded Studio 7 (which we’ve installed as soon as Microsoft released it for testing during the last months – CTP, RC and RTM). We started to migrate all machines to RTM version, so now we have a number of projects made with CTP and RC (when the product was still named Windows Embedded Standard 2011) and others with RTM. We had never tried to use an answer file from a pre-release version with the final RTM, until today. And unfortunately there are no good news: it took us some hours to figure out a strange problem about DISM during image deployment (IBW log files just reported an error installing an INF file, no other info).

It was strange because we created two similar answer files (they just differed on EWF and FBWF protection), one with ICE RTM and the other with ICE CTP, which we deployed on the same target device without problems. Then we had to edit both answer files and we used ICE RTM: with the file created with ICE CTP, the tool alerted us of a problem with the Distribution Share folder (that was obvious, because the product changed its name and installation folder from \Program Files\Windows Embedded Standard 2011 to \Program Files\Windows Embedded Standard 7), but after using the correct DS, no more validation errors occurred. So we thought that everything was fine and ready for a new deployment. But that was not true! While deploying the CTP-RTM updated answer file, the problem with DISM occurred; while using the RTM-only answer file, everything worked fine. We tried to figure out the problem by modifying the edited settings, thinking that we used some bad values, but nothing changed. At the end, we re-created from scratch the CTP answer file using ICE RTM, and magically everything worked.

Thus, it seems that some compatibility issues exist between Windows Embedded Standard 7 CTP/RC and RTM answer files. To avoid any problems with your pre-release answer files (maybe you received a pre-release promotional evaluation kit), we suggest you to re-create your projects using the RTM version.

Wednesday, June 23, 2010

Embedded Spark Contest news

Finally Embedded Sparks 2010 Summer Challenge first round winners have been announced yesterday night: I was very happy to discover that my eMMEC idea is one of them again! Stay tuned for updates on prototype development progress during next weeks (this time, I hope I will have enough free-time this period in order to come up to the end of Round 2).

Saturday, June 12, 2010

New contest: embeddedSPARK 2010 SUMMER Challenge

For the first year a new challenge unfolds over the summer, starts when the original embeddedSPARK Challenge ends (Microsoft announced the embeddedSPARK SUMMER Challenge at the end of April, during the ESC Silicon-Valley event), and concludes with the finalists presenting live on stage at ESC Boston, in September.

For those of you that don’t know Microsoft EmbeddedSpark initiative, it is a collection of Windows Embedded software for hobbyists which consists of full versions of Microsoft development tools and a SPARK-selected board from one of Microsoft’s hardware partners. Usually, participating to the program means that you get the software and the hardware for the price of the board.

Among many initiatives (blogs, documentation, classrooms, community forum, etc.) Microsoft organizes also a contest for embedded hobbyists and gives an EmbeddedSpark kit for free to those who pass the first round selection in the contest.

The contest is a skill-based and chance plays no part in the determination of the winner(s). The object of the contest is to provide a forum for Windows Embedded enthusiasts to showcase their skills, help build the Windows Embedded community and drive awareness of the embeddedSpark program.

This brand new summer challenge is based on Windows Embedded Standard 7, whereas the original embeddedSPARK Challenge (now renamed to embeddedSPARK WINTER Challenge) is based on Windows Embedded CE. 

Not being able to continue the winter challenge edition, early this year, I decided to try participating to the summer contest wieMMEC logoth a new proposal. Based on the new Microsoft Embedded platform, the contest represents the optimal workbench to consolidate my knowledge and learn new things  in view of the Microsoft Certification Exam.

The theme for the first edition is "Media Explosion". My proposed idea is an evolution of my last year embedded device, which tries to surpass many of the limitations and usability problems I found while developing the prototype for my master degree thesis. For further information and details, check official submission entry page: eMMEC.

Within ten days, the first round winners will be announced…

Friday, June 11, 2010

New embedded community

The primary objective for the embeddedSPARK program is to provide an environment for developers from different region, with different backgrounds, to engage, learn and ultimately be able to take on Windows Embedded opportunities. I’d like to share with you the www.embedded101.com website, I found this morning while reading some posts on the official embeddedSPARK forum. The site is established to be an online community for Windows Embedded, to provide a place for developer to share knowledge, learn and evolve as a group. www.embedded101.com is completely independent from Microsoft, and is organized to be a technical online community to help developers, new to Windows Embedded, to learn and engage in Windows Embedded development. Currently, this site is setup with the following section:

  • Blogs
  • Forums
  • Articles
  • Projects

If interested, I suggest you to contribute and to invite other people to became member of the community, with the purpose of sharing knowledge and learning together Windows Embedded technologies.